Snake battle - зміїні бої - навчання змії

навчання змії

Кожна змія, після появи на світло, має довжину 10 квадратів. Тобто всі новонароджені змії рівні. У цей момент змія не вміє нічого робити, не розуміє сенс свого існування. Вона буде безцільно повзати по ігровому полю випадково вибираючи напрямки для руху. Хвіст суперника з'їсть тільки в тому випадку, якщо той попадеться на шляху.

У даній грі ви - тренер.

Ваше завдання зробити так, щоб змія навчилася уникати заплутування в своїх кільцях і кільцях суперників, знаходити, наздоганяти і кусати ворожі хвости.

Для опису поведінки змії зовсім не потрібно вміти програмувати. Все засноване на логіці. А процес навчання простий і наочний. Навіть школяр початкових класів за кілька хвилин вивчення способів навчання може без праці натренувати свого конкурентного війна.

Чому потрібно вчити змію

1. Змія повинна навчитися бачити хвіст суперника, повзти за ним, наганяти і кусати.

2. Змія повинна навчитися йти від можливого заплутування у країв ігрового поля. На малюнку нижче вказана ця ситуація. Заплутана змія не може рухатися, а її хвіст відкритий і доступний кожному проповзала повз. Намагайтеся зробити так, щоб ваша змія не підповзала близько до країв поля, коли там не можна поживитися хвостами.

Snake battle - зміїні бої - навчання змії

3. Змія повинна навчиться виповзати з чужих і власних кілець, щоб не заплутатися і застрягти.

Snake battle - зміїні бої - навчання змії

4. Змія повинна навчитися змінювати траєкторію руху при зацикленому круговому переслідуванні, коли дві змії постійно по колу повзуть за хвостами один одного. Але бажано не просто виходити, а зрізати кути, тим самим зменшувати відстань до ворога.

Snake battle - зміїні бої - навчання змії

5. Змія повинна навчиться тікати, коли при зацикленому круговому переслідуванні змії вже поїдають хвости один одного. Тікає змія не втрачає свої квадрати і матиме шанс напасти знову пізніше. Схема поведінки на подібний маневр повинна йти раніше схеми з правилами погоні і поїдання.

Snake battle - зміїні бої - навчання змії

Поведінка ваша змія може бути дуже різноманітним. Дивіться за поведінкою суперників, вивчайте помилки вашого вихованця.

Бої за участю двох, трьох або чотирьох змій проходять по-різному. Деякі змії перемагають в сутичках 1х1, деякі тільки в командних боях. Сила змії - поняття відносне. Результат якості поведінки тієї чи іншої змії залежить від того, в яких умовах вона бореться. Тому виховання "універсального" бійця - це справа, пов'язана з почуттям балансу і багатьма компромісами.

Зверніть увагу на те, що, якщо Змея1 часто перемагає Змею2, а Змея2 часто перемагає Змею3 - це не означає, що Змея1 також часто перемагатиме Змею3.

Тренуючи кілька днів своїх змій, ви самі це помітите, а навчання універсального війна стане справою докладного дослідження і підбором балансу різних аспектів і властивостей.

Складання схем поведінки змії робиться дуже наочно і просто. В голові у кожної змії є дев'ять програмованих схем поведінки. Схема 1 має більш високий пріоритет, ніж схема 2 і т.д. Тобто, якщо змія виконує програму, записану в першій схемі, то до інших вона не дійде. Якщо ж реальна обстановка не відповідає програмі, записаної в схему 1, то може бути використана схема 2 і т.д.

Snake battle - зміїні бої - навчання змії

Кожна схема поведінки має розмір 7х7 клітин. Ви можете заповнювати ці схеми як завгодно, на свій розсуд з завданням забезпечити найбільш якісне (як вам здається) поведінка змії.

Snake battle - зміїні бої - навчання змії

Основою логіки поведінки змії є її голова. Ця голова повинна бути на кожній схемі поведінки в єдиному екземплярі. Положення голови можна вказати довільне. Таким чином радіус сканування поля - 6 клітин.

Голова змії на схемі завжди дивиться вгору.

При розрахунку наступного кроку змії черзі проглядаються всі схеми поведінки. Вони накладаються так, щоб голова змії на ігровому полі збіглася з її положенням на схемі поведінки. І якщо поле навколо голови збіглося з тим, що занесено в схему, то змія повзе в напрямку відповідно до схеми. Якщо збігу немає або подібний хід неможливий, то вивчаються всі повороти і дзеркальні відображення цієї схеми. Якщо збіги все одно не відбулося, то береться наступна схема і процедура запускається знову. Якщо ж все схеми не дала результат, то напрямок наступного ходу вибирається випадково.

На ілюстрації вище зображена схема в режимі редагування. Справа набір інструментів. Спочатку йдуть елементи, що зустрічаються на ігровому полі. Символ "Стіна" означає квадрати, які знаходяться за межами поля, тобто гравець може створити змію, люблячу притискатися до кордонів поля, або ж відповзає від них.

Незайнятий квадрат схеми, просто порожній білий квадрат означає, що даний квадрат не береться до уваги.

Далі йде група «І». Це стандартний режим редагування схеми. При перенесенні елементів на схему в цьому режимі їх фон залишається білим. При формуванні поведінки змії все елементи цієї групи повинні співпасти з ігровим полем навколо своєї голови.

Наступний елемент - "Виключити" означає, що елемент вважається яке співпало, якщо він будь-, крім зазначеного у відповідному квадраті.

За нею йдуть групи "АБО". Для елементів, розфарбованих в один і той же "АБО" колір, збіг фіксується, якщо збігся хоча б один з них. Наприклад, схема 1 змушує змію уникати країв ігрового поля, а схема 2 - рухатися в напрямку хвоста змії суперника.

Snake battle - зміїні бої - навчання змії
Snake battle - зміїні бої - навчання змії

Кожен гравець має в своєму розпорядженні два таких "АБО" кольору (зелений і синій). Спільне використання даних квітів говорить про те, що потрібно збіг хоча б по одному елементу з кожної групи.

Потрібно пам'ятати, що повороти і відображення дають одну і ту ж схему, наприклад, такі схеми ідентичні.

Snake battle - зміїні бої - навчання змії
Snake battle - зміїні бої - навчання змії

Гравцеві слід також пам'ятати, що всі інші змії в грі рівноправні. Може вийде ситуація, що змія гравця буде гнатися за дальнім хвостом, не звертаючи уваги на хвіст іншого змії, розташований поруч.

Якщо гравець вкаже в якийсь схемою розташування хвоста і тіла змії суперника (як, наприклад, на схемі нижче), то можлива ситуація, при якій буде визначено збіг, але хвіст буде належати одній змії, а тіло - інший.

Snake battle - зміїні бої - навчання змії
Snake battle - зміїні бої - навчання змії

Наявність груп «АБО» дозволяє задавати складні умови поведінки змії і економити схеми.

Наприклад, зазначена нижче схема поєднує дві, рух за хвостом і відхід від стін.

Snake battle - зміїні бої - навчання змії

Але потрібно розуміти, що може відпрацювати не та група, яку хотілося б в тій чи іншій конкретній ситуації.

Елемент «Будь-який елемент» видаляє вміст квадрата, повідомляючи системі, що в цьому місці може бути будь-який елемент. Рівносильно одинарному кліку по заповненій клітці схеми.

Деякі можливі ситуації

Нижче показані деякі ігрові ситуації, що найчастіше зустрічаються в процесі гри.

Snake battle - зміїні бої - навчання змії

Зображена заплуталася і заблокувала сама себе змія. Якщо така ситуація виникне в ході гри, то будь-який противник зможе швидко і безперешкодно з'їсти всією змію.

Навчена змія повинна уникати подібних ситуацій.

Snake battle - зміїні бої - навчання змії

Зображено клубок змій. Дуже часто гра закінчується з подібним результатом.

Snake battle - зміїні бої - навчання змії

Теж не рідкісна ситуація. Три змії повзуть за хвостами один одного. В результаті ходів кожної із змій, змії набувають і втрачають одну клітку, тобто довжина кожної змії залишається незмінною. Подібна ситуація також часто виникає і з двома зміями.

Snake battle - зміїні бої - навчання змії

Дві змії, одна постійно повзає за одною бачачи її хвіст, а переслідувана нічого не знає гонитві і просто виконує свою програму. Потрібно намагатися зробити так, щоб змія не перетворювалася жертви, і що треба зробити, щоб подібне переслідування закінчувалося поїданням жертви (врахуйте, що змії повзають рівномірно і по черзі).

Схожі статті