==== Клиент: редактор программы змеи ==== Задачи: * показ описания программы змеи; * показ карт программы (описание, изображение карты); * редактирование описания программы; * создание, удаление карт; * изменение порядка карт; * редактирование описания карты; * редактирование пользовательских наборов элементов; * редактирование карты. Программа содержит упорядоченный набор от 0 до 9 карт. Карта представляет участок игрового поля размером 7×7 клеток. Одна и только одна клетка карты содержит отметку «голова своей змеи». При анализе игровой ситуации эта клетка карты совмещается с головой змеи игрока, а направление взгляда отметки указывает направление, в котором должна двигаться змея в этой ситуации. Другие клетки карты могут содержать шаблоны, описывающие ситуацию. Шаблон содержит следующую информацию: * Набор элементов, один из следующих вариантов: * пустая клетка; * граница поля (клетка, лежащая за пределами игрового поля); * тело своей змеи; * хвост своей змеи; * голова змеи противника; * тело змеи противника; * хвост змеи противника; * один из 4 пользовательских наборов элементов. * Наличие/отсутствие модификатора НЕ. * Одна из 4 И-групп либо 4 ИЛИ-групп. По умолчанию все шаблоны входят в первую И-группу. Каждая программа содержит 4 пользовательских набора элементов. Набор может содержать любое сочетание от 1 до 6 элементов (пустой и полный набор не имеют смысла).