Правила

В этой игре ваша задача создать такую змею, которая окажется умнее противников. Повинуясь созданной вами "программе поведения" змея съест конкурирующих змей на поле боя.

В начале игры вам нужно создать змею, выбрать ей уникальное имя и расцветку, "запрограммировать" ее поведение. Включить режим автобоя – принимать участие в боях без вашего присутствия. И запустить бой.

Принцип боя

В битве участвуют от 2 до 9 змей. Они ползают по полю боя по клеткам в соответствии с "программой", анализируют окружающее их пространство и пытаются схватить за хвост противника. Если змея схватила противника за хвост, она вырастает на одну клетку, а противник уменьшается на одну клетку.

Змея не может сделать ход, если все места заняты ее собственным телом, телом или головой противника или стеной.

Бой заканчивается в одном из трех случаев:

  1. Прошло 1000 ходов.
  2. На поле боя осталась только одна змея.
  3. Все змеи запутались и не могут сделать ход.

Программирование поведения

Поведение змеи программируется с помощью паттернов размером 7x7 клеток. В каждый момент времени змея обозревает участок поля размером 7*7 клеток вокруг своей головы и сравнивает его с первым паттерном своего поведения, вращая его по необходимости.

Паттерн считается совпавшим с фрагментом поля, если при наложении под всеми элементами паттерна оказались такие же элементы на поле.

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

Логические операции

Паттерн считается совпавшим, если все расставленные на нем элементы, кроме "свободных" ячеек совпали с областью на поле боя.

Помимо этого есть два дополнительных режима клетки: опциональный и исключение.

Если на паттернет поставлено несколько клеток в режиме OPTIONAL, то для совпадении паттерна достаточно совпадения хотя бы одной клетки OPTIONAL. Если несколько положений паттерна в данном случае совпадают, выбирается такое положение паттерна, в котором происходит пересечение как можно большего числа клеток OPTIONAL.

Если на паттерне установлена клетка в режиме MUST NOT, клетка поля боя является совпавшей, если ее содержимое НЕ РАВНО тому, что установлено на паттерне в режиме MUST NOT.

Четыре правила эффективной змеи

  1. Преследуй хвост противника
  2. Держи свой хвост в безопасности
  3. Избегай тупиков
  4. Выходи из крысиных бегов

Примеры

Пример 0

Змея пойдет в случайном направлении, потому что в правилах не задано ни одной ячейки.

Пример 1

Змея пойдет в сторону хвоста врага, потому что он прямо перед ней.

Пример 2

Змея пойдет в случайном направлении, потому что правило не совпало - нет одновременно двух вражеских хвостов.

Пример 3

Змея пойдет в направлении вражеского хвоста, потому что одна из опциональных ячеек правил совпала.

Пример 4

Змея пойдет "на юг", потому что будет стараться держать первую ячейку своего тела позади головы.

Больше информации

Присоединяйтесь к нашим каналам в соцсетях:

Для публичного обсуждения:

Для оперативного получения анонсов: