(С) Георгий Евсеев, Сергей Симонович, 1994
Почта: 121019, Москва, Г-19, а/я 16, "Инфорком-Пресс".
Тел./факс (095) 956-16-31
E-Mail: postmaster@ircpress.msk.su


ЗМЕИНЫЙ БОЙ (Snake Battle)
GAMOS, 1992

Большинство пользователей уже привыкло к тому, что основным
противником в компьютерной игре является сам компьютер, с его
мгновенной реакцией и высоким быстродействием. Иногда
психологически личность противника мысленно переносится на
создателей программы (в играх типа Adventure). Те же игры,
которые рассчитаны на несколько участников (игры для модема,
сетевые игры), требуют специальной организации, так как надо
собрать несколько человек в одно время.

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

Каждый пользователь сам создает своего "бойца", который
после этого способен жить собственной жизнью. Этот "боец" - это
просто отгруженный файл. Любой пользователь, получивший от
кого-то такой файл, способен провести на своем компьютере
заочное "сражение".


1. Основные понятия.

Итак, игра состоит из двух фаз. Первая фаза - это создание
боевой змеи, оно будет рассмотрено ниже. Вторая фаза - это само
сражение, в котором пользователь играет только роль зрителя и,
в какой-то мере, судьи.

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

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

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

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

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

В самой битве одновременно участвует от двух до четырех
змей. Сразу замечу, что бой с участием четырех змей гораздо
интереснее и менее предсказуем, чем с участием пары. Бой
заканчивается в одном из четырех случаев:

- когда одна змея уничтожила всех противников;
- когда ни одна из змей не имеет хода;
- когда истекло время боя;
- по прерыванию пользователя: "конец боя".

Если раунд боя закончился естественным путем (то есть не по
последней причине), то, можно снова выбрать опцию "начать бой"
и продолжить сражение с участием тех же противников и с
сохранением уже набранных очков. Так как фактор случайности
играет существенную роль, результат однораундового боя, вообще
говоря, не является особо показательным, так что стоит
проводить не менее десяти раундов, для того чтобы достаточно
объективно оценить силу противников. Наше исследование
показало, что надежность порядка 90% в определении победителя
дает матч, состоящий из 15 раундов.


2. Создание боевой змеи.

Создание боевой змеи включает в себя несколько операций:

- выбор имени змеи, которое будет фигурировать в качестве
имени дискового файла;

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

- пользователь заполняет паспорт змеи, указав в нем ту
информацию, которую считает нужной (например, информацию о
себе).

- и, наконец, пользователь задает пароль, препятствующий
другим пользователям не только изменять, но и просто
просматривать его собственную змею, тем самым сохраняя в
неприкосновенности его собственные находки.

Обратите внимание на то, что ~каждая змея является~
~интеллектуальной собственностью ее создателя. В этом смысле
она~ ~является объектом защиты законом об авторском праве.
Поэтому не~ ~следует пренебрегать такой формальной и совсем
нетрудоемкой~ ~операцией, как заполнение паспорта змеи~.


3. Обучение змеи.

"Все животные равны, но некоторые из них равнее", - сказал
когда-то Дж.Оруэлл в своем памфлете "Скотский Хутор". Точно так
же и с нашими змеями. От рождения они все равны. У каждой из
них по десять клеток и каждая не умеет делать ничего, кроме как
двигаться в случайном направлении и кусать противников за
хвост, если он сам в рот просится.

Для того, чтобы Ваша змея вела себя с умом, ее над обучить.
Интересно, что обучение змея производится путем
программирования логики ее поведения в самых разнообразных
боевых ситуациях. Если Вы не умеете программировать, то эта
игра для Вас - просто идеал. Дело в том, что "программирование"
выполняется таким доступным, понятным и наглядным способом, что
через десять минут после начала игры даже семилетний ребенок
сможет с гордостью сказать: "Я умею программировать". И совсем
приятно, что тут же можно НАГЛЯДНО увидеть, как ведет себя Ваша
программа и сравнить ее с программами других авторов.

Как же программируется поведение змеи? Нам, конечно, не
хочется рассказывать здесь все то, что и так изложено в
help-инструкции к игре, но в двух словах мы все же остановимся
на этом вопросе.


3.1 Чему змею учить будем?

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

2. Змея должна избегать тупиковых ситуаций вблизи кромки
поля. Пример такой ситуации, когда она не может никуда
двинуться, приведен на рис. 1. Хвост такой змеи беззащитен для
атак соперников. От кромки вообще, по-видимому, стоит держаться
подальше, кроме тех случаев, когда там водится добыча.

¦ +----+
¦ ¦ ¦+----------
¦ +--> ++
+------------------------------

Рис. 1. "Тупик" у стенки.

3. "Умная" змея может избегать ситуации, когда она
запутывается в собственных (и не только собственных) кольцах
(рис.2).

+------+
¦ <----+
+-------------
Рис.2 "Тупик" в собственных кольцах.

4. В ситуации "собачьих бегов", когда две змеи безуспешно
преследуют друг друга по замкнутому маршруту, "умная" змея
должна уметь "срезать" углы и сокращать расстояние (рис. 3).

+------> --------+
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ <-------+
+---------- \
\
здесь "срезан" угол

Рис. 3 Техника сокращения дистанции.


5. Змея должна уметь "разрывать" устойчивые связи. В
ситуации, когда две змеи, повинуясь своему "инстинкту"
(правильнее сказать - Вашей программе) пожирают друг друга с
хвоста, "умная" змея разорвет такую связь. Одним словом,
программа на "разрыв связи" должна иметь более высокий
приоритет, чем "основной инстинкт" (рис. 4).

+--+
¦ +-->--------+
+------<-----+ ¦
¦ ¦
¦ ¦
+-+
Рис. 4 Патовая ситуация "взаимного поедания".


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

7. Бои с участием 2-х, 3-х или 4-х бойцов проходят
по-разному. Известны примеры отличных индивидуальных бойцов,
которые не способны хорошо работать в групповой схватке и
наоборот. Так что "сила" бойца - понятие относительное. Все
зависит от того, с кем и в каких условиях ему придется
сразиться. Поэтому воспитание "универсального" бойца - это
дело, связанное с чувством баланса и многими компромиссами.

8. Интересно, что во многих случаях сила бойцов - понятие
нетранзитивное. Так, если змея "Альфа" устойчиво побеждает
"Бету", а "Бета", в свою очередь, не дает спуску "Гамме", то
это еще совсем не означает, что "Альфа" будет сильнее "Гаммы".
Вполне может оказаться, что у последней есть такие
индивидуальные черты характера, которые "Альфе" окажутся не по
зубам. Поработав несколько дней со своими бойцами, Вы сами это
почувствуете и, опять же, воспитание универсального бойца
станет делом скрупулезного исследования и взвешенного баланса
различных качеств и свойств.


3.2 Как учат змею.

Программирование змеи выполняется очень элегантно, наглядно
и доступно. В "голове" у Вашего питомца установлены 9
программируемых микросхем (научно говоря - ПЛМ -
программируемых логических матриц). Матрица N1 имеет более
высокий приоритет, чем матрица N2 и т.д. То есть, если змея
исполняет программу, записанную в первой матрице, то до
остальных она не дойдет. Если же реальная обстановка не
соответствует программе, записанной в матрице N1, то может быть
использована матрица N2 и т.д.

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

Ваши возможности по программированию поведения змеи зависят
и от выбранного Вами уровня сложности. Их три:

НОВИЧОК
ЛЮБИТЕЛЬ
ЭКСПЕРТ

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

Основой логики поведения змеи является ее голова. Эта
голова должна быть изображена на каждой используемой матрице в
единственном экземпляре. В режимах НОВИЧОК или ЛЮБИТЕЛЬ она
всегда находится в центре матрицы, а в режиме ЭКСПЕРТ Вы можете
выбрать ее положение произвольно. Таким образом, в режимах
НОВИЧОК и ЛЮБИТЕЛЬ Ваша змея "видит" пространство на 3 клетки
от головы в любую сторону. В режиме же ЭКСПЕРТ ее радиус
"сканирования" больше - до 6 клеток.

Голова змеи на исходной матрице всегда смотрит вверх (на
север).

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

На иллюстрации изображена змея в режиме редактирования.
Правая сторона представляет собой набор вариантов, доступных
пользователю в режиме ЭКСПЕРТ. В меню вначале идут элементы,
которые могут встретиться на игровом поле. Символ "БАРЬЕР"
означает клетки, находящиеся за его пределами, то есть
пользователь может создать змею, прижимающуюся к границе, или
же наоборот, отталкивающуюся от нее.

Незанятая клетка микросхемы в виде выступающего голубого
бруска означает, что данный квадратик не принимается во
внимание. Пример на первой матрице означает: "Если есть
возможность укусить врага - делай это".

Следующий элемент в столбце меню - "КРОМЕ" - недоступен в
режиме НОВИЧОК. Он означает, что элемент изображения считается
совпавшим, если он любой, кроме указанного в соответствующем
квадратике. При каких обстоятельствах его полезно применять -
решать пользователю.

Затем следует "ИЛИ-цвет", также недоступный в режиме
НОВИЧОК. Для элементов, раскрашенных в один и тот же
"ИЛИ-цвет", совпадение фиксируется, если совпал хотя бы один из
них. Например, микросхема номер 2 заставляет змею по
возможности избегать краев игрового поля, а микросхема номер 3
- двигаться в направлении хвоста змеи-врага.

Пользователь имеет в своем распоряжении два таких ИЛИ-цвета
(зеленый и синий). Одновременное их использование может
означать, что требуется, чтобы совпали хотя бы по одному
элементу из каждой группы.

Не следует забывать, о том, что повороты и отражения дают
одну и ту же схему, в частности, схемы номер 4 и 5 абсолютно
эквивалентны, хотя не исключено, что какая-то разница может
возникнуть за счет учета случайного перебора вариантов
расположения квадрата.

Пользователю не следует также забывать о том, что все
другие змеи абсолютно равноправны. Поэтому, в частности,
использование схемы 3 может привести к тому, что змея
пользователя погонится за "далеким хвостом", игнорируя хвост
другой змеи, расположенный гораздо ближе. Кроме того, если
пользователь будет ориентироваться в какой-то микросхеме на
относительное расположение хвоста и туловища змеи врага (как,
например, на схеме 6), то не исключен вариант, что будет
зафиксировано совпадение при том, что хвост будет принадлежать
одной змее, а фрагмент туловища - другой.

Следующий пункт меню - "И-цвет" доступен только в режиме
ЭКСПЕРТ. Его использование требует, чтобы одновременно совпали
все элементы из одноцветной группы. Исходный серый фон для
элементов является, по сути дела, также "И-цветом", здесь же
добавляются еще два "И-цвета" - красный и черный.

Подкраска цветом (И или ИЛИ) клетки с головой своей змеи
дает общее указание на то, как именно должны соединяться
различные цветовые группы. Наличие пяти различных "логических
цветов" позволяет задавать сложные условия поведения змеи.
Кроме того, возможна, так сказать, "экономия микросхем" за счет
использования двух комбинаций, которые могут быть изображены
одновременно, и соединения их "ИЛИ-цветом" (как на схеме 6).
Правда, здесь также надо быть готовым к тому, что может
сработать не та группа, которая в данный момент была бы нужнее.

Последняя действующая клавиша позволяет удалять или
вставлять новые квадраты в заданное место. К сожалению, не
предусмотрена возможность поменять две схемы местами, так что в
таком случае одну из них придется задавать заново.


4. Некоторые стандартные положения.

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

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

Слева в середине изображен "массовый" клубок змей.
Окончание раунда сражения подобным образом - не редкость в этой
игре.

Ситуация в левом нижнем углу встречается очень часто. В
данном случае три змеи сидят друг у друга на хвосте, так что в
результате каждого такта сражения каждая из них как
приобретает, так и теряет одну единицу длины и длина каждой
змеи остается неизменной. Подобная ситуация часто возникает и с
двумя змеями. Читатель может подумать о том, стоит ли и каким
именно образом пытаться разорвать такой цикл. Мы придумали два
возможных механизма подобного разрыва, но они пока несовершенны
и чаще ухудшают, а не улучшают ситуацию.

И, наконец, в правой части картинки изображены две змеи,
причем одна из них устойчиво преследует другую, а преследуемая
при этом не имеет никакого представления о местонахождении
преследователя и полагается только на бегство. Читатель может
подумать о том, как, во-первых, добиться того, чтобы его змея
не попадала на роль преследуемого, а, во-вторых, что надо
сделать, чтобы подобное преследование могло оказаться успешным
(змеи ведь движутся с одинаковой скоростью!).


5. Немного об аналогах.

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

У давних и опытных любителей компьютерных игр при взгляде
на эту программу сразу рождаются какие-то ассоциации с древней
культурой под названием ~CoreWar~ ("Бой в Памяти"). Для тех,
кто подключился к компьютерным играм в последнее десятилетие,
наверное надо напомнить об этом явлении, поскольку о нем давно
уже никто не вспоминал.

А ~CoreWar~ - была не просто программой, это была поистине
культура и явление. И развивалась эта культура наиболее активно
в начале 80-х. Суть состояла в том, что каждый программист сам
писал себе небольшую программу в машинном коде, после чего две
программы разных авторов запускали в память машины. Куда, в
какие адреса пошли эти программы, никому неизвестно.

Суть игры сводилась к тому, что эти программы должны были
"обстреливать" большие пространства памяти машины с целью
"зацепить" и уничтожить программу-соперника. Когда жертва не
подавала операционной системе сигналов "Я жива", бой
заканчивался.

Но "обстреливать" память наугад - не единственное, чем
занимались бойцы. Лучшие образцы умели "размножаться",
"залечивать" поврежденные участки, "маскироваться",
"сканировать" память и пр.

~CoreWar~ получила широчайшее распространение (на Западе).
Проводились чемпионаты, турниры. Организовывались клубы, а эти
клубы выпускали регулярные бюллетени, то есть, появились как бы
средства массовой информации по этой культуре. Многочисленные
журналы имели постоянные разделы, в которых организовывались
соревнования, рассказывалось о новых открытиях и достижениях.

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

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

Мы не знаем почему, может быть именно из-за того, что самые
психически ущербные программисты стали проявлять порочную
страсть к написанию (и распространению) вирусов, это движение
стало затухать где-то к 1984 году, и сейчас о нем редко
вспоминают.

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

Все это возможно. Единственное, чего долгое время в России
не было, так это средства массовой информации, которое могло бы
взять на себя заботы о координации действий пользователей и
организацию массового движения. Теперь такое средство есть -
это Ваш PC-REVIEW. "Инфорком-Пресс" особо займется пропагандой
~"Змеиного Боя"~, распространением этой программы и
организацией соревнований. Мы рассчитываем на то, что эта
программа станет той основой, которая позволит сблизить
отечественных производителей и потребителей программного
обеспечения в России. По этому поводу читайте статью "Змееводам
и Змеелюбам!" в этом номере журнала.

----------------------------------------------------------------------------------------

ЗМЕИНЫЙ БОЙ


I. ПРИНЦИПЫ ЗМЕИНОГО БОЯ.

Принцип этой игры существенно отличается от большинства известных
игр. Число участников практически не ограничено. Роль игрока
состоит в том, что он подготавливает к состязанию свою собственную
змею, является ее создателем и тренером, но в самой битве он может
занять лишь место зрителя. Змея как бы начинает жить своей
собственной жизнью: участвует в соревнованиях, ведет себя в
соответствии со стратегией, которую Вы заложили в нее, одерживает
победы или терпит поражения, и - кто знает? - может даже принести
Вам славу и доход. Кроме того, Вы всегда имеете возможность
совершенствовать боевые качества своей Змеи (разумеется, если она
еще не заявлена на участие в крупных соревнованиях).

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

Создать боевую Змею - это:
* выбрать имя Змеи,
* выбрать ее окраску,
* завести паспорт Змеи,
* обучить Змею поведению на поле боя,
* установить пароль.

Ваша Змея - это Ваша собственность, поэтому никто не сможет ни
изменить ее, ни подсмотреть секреты ее программы, не зная Вашего
пароля.

II. ОСНОВНОЕ МЕНЮ.

Запустив игру и нажав любую клавишу, вы увидите основное меню,
которое выглядит как набор картинок и экранных клавиш.

РЕДАКТИРОВАТЬ ПАСПОРТ*
Поместите стрелочный указатель на картинку и нажмите ENTER или
левую кнопку мыши, и Вы войдете в режим заполнения паспорта Вашей
Змеи.

БОЙ
Поместите указатель на картинку и нажмите ENTER или левую кнопку
мыши для того, чтобы начать состязание между выбранными Вами
змеями (о выборе змей см. ниже).

ВЫБРАТЬ ЦВЕТ*
Запуская этот режим, Вы получаете возможность выбрать или изменить
цвет Вашей змей.

ПРОГРАММИРОВАТЬ ИНТЕЛЛЕКТ*
Этот режим позволяет программировать поседение змеи на поле боя.

Экранные клавиши:

ТИТРЫ - информация об авторах и разработчиках игры,
НОВЫЙ ПАРОЛЬ* - установить новый пароль для змеи,
ВЫХОД - прервать игру и выйти в DOS.

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

III. ВЫБОР ЗМЕЙ ДЛЯ СОСТЯЗАНИЙ.

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

В четыре верхние ячейки вставляются кассеты змей, которые будут
участвовать в следующем раунде боя (назовем их "турнирной
стопкой". Самая верхняя кассета предназначается также для работы
(обучение змеи, редактирование паспорта, изменение цвета).

В нижней стопке располагается банк существующих змей.

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

Чтобы увидеть следующую часть списка, активизируйте красную
стрелку под стопкой кассет.

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


IV. ОПЦИИ ОСНОВНОГО МЕНЮ.

А). БОЙ

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

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

Пульт управления:

НАЧАТЬ - начать поединок;

МЕДЛЕННО - в этом режиме выполнение каждого игрового шага требует
нажатие ПРОБЕЛА или кнопки мыши (один игровой шаг означает, что
каждая змея передвигается на одну клетку). Кроме того, если пароль
змеи в самой верхней ячейке был введен правильно, в правом нижнем
углу на маленьком табло будет показываться карта, исполняемая этой
змеей в данный момент (о картах см. пункт ИНТЕЛЛЕКТ). Этот режим
очень удобен для отладки и совершенствования змеи-программы.

СТОП - прерывает бой в любой момент времени.

ЗВУК - включает и выключает звук.

ОСНОВНОЕ МЕНЮ - выход в основное меню в любой момент времени.

Когда бой закончен, вы можете либо начать его снова между теми же
самыми змеями, либо выйти в основное меню. Тогда посреди игрового
поля появится паспорт змеи-победительницы с ее новым рейтингом.
Нажмите ENTER или кнопку мыши.


Б). РЕДАКТИРОВАТЬ ПАСПОРТ.

Для входа в этот режим Вам необходимо знать пароль змеи в
"рабочей" ячейке. Если ячейка пуста, то программа запросит у Вас
новое имя и затем новый пароль.

В паспорте змеи содержится информация о количестве карт,
использованном в ее программе, рейтинге, уровне сложности
инструментов программирования.
Рейтинг пропорционален средней длине змеи за все проведенные ею
бои. Первоначально он равен 1000.
В паспорте Вы можете написать свое собственное имя или псевдоним,
девиз или любую краткую информацию.


В). ВЫБРАТЬ ЦВЕТ

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


Г). ПРОГРАММИРОВАТЬ ИНТЕЛЛЕКТ

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

НОВИЧОК
ЛЮБИТЕЛЬ
ПРОФЕССИОНАЛ

После этого появится 1 открытая и 9 закрытых карт и панель
управления.

ПРИНЦИПЫ СОЗДАНИЯ ПРОГРАММЫ-ЗМЕИ.

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

Поведение змеи программируется посредством карт, состоящих из 7*7
позиций, в которые игрок помещает условные обозначения элементов,
изображенных на панели управления. Можно использовать от 1 до 9
карт.

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

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

ОСНОВНОЕ МЕНЮ - с помощью этой экранной клавиши Вы всегда можете
выйти из режима программирования интеллекта змеи.


Режим НОВИЧОК.

В правом нижнем углу экрана расположен индикатор работы с картами,
который может находиться в одном из следующих положений:

РЕДАКТИРОВАТЬ КАРТУ
ВСТАВИТЬ КАРТУ
УДАЛИТЬ КАРТУ

Переключение между режимами осуществляется нажатием ENTER или
клавиши мыши при стрелке курсора, помещенной на индикатор.

РЕДАКТИРОВАТЬ КАРТУ -
С помощью курсора активизируйте элемент на панели управления,
который вы хотите вставить в карту. Затем укажите место в карте, в
которое его нужно поместить, и нажмите ENTER или кнопку мыши.
Чтобы удалить этот элемент, нажмите кнопку еще раз.

ВСТАВИТЬ КАРТУ -
поместите стрелочный курсор на карту, перед которой хотите
поместить новую, и нажмите ENTER или кнопку мыши.

УДАЛИТЬ КАРТУ -
поместите курсор на карту, которую хотите удалить, и нажмите ENTER
или кнопку мыши.

Клавиши ДЛЯ ЛЮБИТЕЛЕЙ в режиме НОВИЧОК не используются.


Режим ЛЮБИТЕЛЬ.

Этот режим обучения змеи предназначен для тех, кому средства,
предоставляемые режимом НОВИЧОК, показались слишком простыми.

На пульте управления добавляются две клавиши:

ИЛИ-ЦВЕТ и КРОМЕ

ИЛИ-ЦВЕТ - активизировав эту клавишу с голубым индикатором, можно
сменить цвет любого элемента на карте на цвет индикатора. Для
этого укажите курсором элемент карты, цвет которого вы хотите
изменить, и нажмите ENTER или кнопку мыши. Отмена ИЛИ-ЦВЕТа
производится повторным нажатием.

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

КРОМЕ - при активизации этой клавиши элемент, указанный курсором,
перечеркивается. Такой элемент считается совпавшим, если под ним
на поле находится любой отличный от зачеркнутого.

Кнопка ЭКСПЕРТ в этом режиме не используется.


Режим ЭКСПЕРТ.

Режим для гурманов.

На пульте управления добавляется клавиша с цветовым индикатором:

И-ЦВЕТ,

а число цветов индикатора клавиши ИЛИ-ЦВЕТ увеличивается до двух
(голубой и зеленый).

Правила сравнения карт:
Все элементы одинакового цвета (из набора цветов И-ЦВЕТ)
индикатора) должны совпасть одновременно. При этом считается, что
данная цветовая группа совпала.
Добавляется возможность изменить цвет рамки, охватывающей каждую
карту целиком. Для этого курсор устанавливается на требуемый
индикатор, выбирается цвет, курсор устанавливается на голову своей
змеи в выбранной карте и нажимается ВВОД. Вместе с цветом рамки
меняется цвет своей головы змеи.
Если цвет рамки из цветов И-ЦВЕТ, то карта сравнивается так же,
как в режиме ЛЮБИТЕЛЬ. Если из цветов ИЛИ-ЦВЕТ, то карта считается
совпавшей, если совпала хоть одна из одноцветных групп.

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


Д). НОВЫЙ ПАРОЛЬ

Выбрав этот пункт меню, вы можете сменить пароль своей Змеи.
Поместите курсор на экранную клавишу, нажмите ENTER или кнопку
мыши, введите новый пароль на клавиатуре и еще раз нажмите ENTER.


V. ТРЕБОВАНИЯ К СИСТЕМЕ.

-IBM PC XT/AT или совместимые;
-640*350 EGA, 250 Кб и 16 цветов;
-около 400 Кб оперативной памяти;
-мышь (если имеется)

---------------------------------------------------------------------------

Фирма "Стрелец" (Sagittarius), г.Москва

Н Е
П Р Е Д С Т А В Л Я Е Т

почему Вы до сих пор еще не участвуете в соревнованиях по

З М Е И Н О М У  Б О Ю

Ведь это жутко интересно, совсем не вредно, а теперь еще и так просто!

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

Адрес чемпионатора в сети Relcom : champ@snake.msk.ru

Подробности о правилах ЗМЕИНОГО БОЯ (Snake Battle) Вы можете узнать
из 7'94 номера электронного журнала "PC-Review" или запросить у нас.
Демо-версию пользовательской программы, позволяющую изучить правила,
создать и опробовать в бою несколько простых гадюк, можно получить
бесплатно у дилеров фирмы "Стрелец", где именно - запросите по e-mail
root@sagittarius.msk.su.
Официальные копии программы можно приобрести в розничной торговле во
всех крупных городах России, Украины и Беларуси, а также получить по
почте, если направить почтовый перевод в сумме, эквивалентной $7.00
($6 - программа, $1 - пересылка) по адресу: 119620, Москва, а/я 530
на имя Матасова Михаила Викторовича и указать точный обратный адрес.

В настоящее время в абсолютном зачете
лидерство захватил свирепый GORYNYCH,
присмыкнувшийся к нам из Саратова...
КТО НА НОВЕНЬКОГО ?!

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

Контактные тел. в Москве (095) 934-29-44
в Киеве (044) 419-11-28
в Минске (0172) 36-45-70
Сетевой адрес эл/почты (Relcom): root@sagittarius.msk.su
----------------------------------------------------------------------------------------------------




SNAKE BATTLE



I. LOADING INSTRUCTIONS.

-switch on your computer and load the DOS;
-insert the game disk in drive A;
-copy the game to your hard disk, for example the following way:
MKDIR C:\SNAKE
COPY A:\*.* C:\SNAKE
CD C:\SNAKE
-type in "snake /e" for starting English version of the game and
press ENTER
-when title page displays, strike any key or click mouse button.


II. COPY PROTECTION.

This game is protected from unauthorized usage by password system.
You shall be asked for one particular word from the code table
(see part IX) when starting the game. For example: "Type word D3
from the code table". You are allowed 3 attempts.


III. PRINCIPLES OF SNAKE BATTLE.

The principle of this game is significantly different from these
of most of other games. The number of players is practically
unlimited. Your task is to prepare your own snake for competitions
(i.e. to create and to train it) but in battle itself you can be
only a spectator. The snake begins to live its own life: takes
part in competitions, behaves according to the strategy you have
taught it, wins or loses and - who knows? - may yield you a profit
and glory. Besides, you always have the opportunity to improve
fighting qualities of your snake (of course, if it is not engaged
yet in a large tournament).

In one combat up to 4 snakes can take part simultaneously. They
attack each other. If snake's head touches enemy's tail it will
bite it off, thus shortening the enemy's body by one cell and
adding it to its own length. The winner has the maximum length at
the end of the battle. Snake's length can be regarded as the
amount of won points or dollars.

To create a fighting snake - that is:
* to choose name for your snake,
* to choose its colour,
* to make passport for the snake,
* to programme its strategy on battle field,
* to set a password.

Your snake is your property, therefore nobody can change it or
pry secrets of its program without knowing your own password.


IV. THE MAIN MENU.

After starting the game and pressing any key you will see the main
menu that looks like a set of icons and screen buttons.

EDIT PASSPORT*
Put the cursor on the picture and press ENTER or left mouse button
and you will enter the regime of filling your snake's passport.

BATTLE
Put the cursor on the icon and press ENTER or left mouse button to
start the competition between chosen snakes (about picking up
snakes see below).

CHOOSE COLOUR*
When you start this regime, you can choose or change the colour of
skin of your Snake.

MAKE SNAKE'S BRAIN*
This is the regime of programming your Snake's behaviour.

Screen buttons:

ACKNOWLEDGEMENTS - information about the authors of the game,
NEW PASSWORD* - set a new password for a snake,
EXIT - interrupt the game and quit to DOS.

! Notice: the asterisked options are available only after entering
the password of the snake.


V. PICKING UP SNAKES.

In the right part of screen there is a pile of cassettes, each of
them connects full information about one particular snake.

In the four upper cells you put cassettes with snakes that you
intend for next round of battle (let's call them "battle-pile").
The top cassette is intended also for work (teaching, editing
passport, changing colour)

In the lower pile there is the bank of existing snakes.

Place arrow pointer on the snake you want to put into competition
and press Enter or click mouse button. Then point a position in
the "battle-pile" and press Enter once more. If the cell was
already filled, the previous snake will return to the bank.

To see the next part of the list choose the red arrow.

To begin creating a new snake choose the top cell when it is empty
and type a new name when twinkling cursor appears.
If you enter a name that already exists then the corresponding
cassette from the bank will be loaded.


VI. OPTIONS OF THE MAIN MENU.

A). BATTLE

After entering this regime you will see the battle field and
passports of snakes enlisted for the current battle. In the top
right corner there is the information tableau with names, colours
and score number of fighting snakes. If several rounds of battle
take place, score number for each snake will be the total through
all the rounds have been held without returning to the main menu.

Below you can see the time indicator of the current battle. When
time is up, the battle will be interrupted.

Control panel:

PLAY - begin the battle.

SLOW - in this regime execution of each game step requires
pressing the SPACE bar or clicking mouse button (game step means
that all the snakes make one move each). Besides, if the password
of the "top cell snake" was input correctly, in the bottom right
corner you will see its card being executed at this moment (about
cards see the section MAKE SNAKE'S BRAIN).

STOP - interrupts battle at any moment.

SOUND - toggle sound on and off.

MAIN MENU - quit to the main menu at any moment.

When the battle is over you can either start it again with the
same snakes or return to the main menu. Then the passport of the
snake-winner with its new rating will appear over the battle
field. To quit BATTLE press ENTER or click mouse button.

B).EDIT PASSPORT

To enter this regime you need to know the password of the snake in
the top cell. If you pick up this item with the top cell empty,
you will be asked for a new name.
In snake's passport there is information about number of cards
used in its program, rating, level of complexity of programming
instrument.
Rating is proportional to the average length of the snake through
all its battles and primarily is equal to 1000. In the passport
you can print your own name or pseudonym, motto or any brief
information you want.

C).CHOOSE SKIN

After entering the password you will see a little cage with moving
snake. Choose its colour by "Left" and "Right".


D).MAKE SNAKE'S BRAIN

If this regime is entered for a new snake then you must choose the
complexity level of teaching instruments.

NOVICE
ADVANCED
EXPERT

Then 9 cards and a control panel will appear.

PRINCIPLES OF CREATING A SNAKE-PROGRAM

During the battle each snake moves along the cellular field.
Before each game step the proper sequence of snakes moves is
determined by chance. Then each snake makes a move in its turn.
The move means either transportation on one empty cell, or biting
off the opponent's tail with transportation to its place. If both
is impossible, the snake remains motionless.

Snake's behaviour is programmed by means of cards consisting of
7*7 positions, which can be filled with conventional elements
described on the control panel. The player can use from 1 to 9
cards.

At every moment of time a snake takes a view of a field fragment
of 7*7 cells around its head and compares it with the first card
of its behaviour (rotating it if necessary). The card is
considered coincided with field fragment if while superimposing it
under all the elements of the card the same elements of the field
are found. If it occurs, the direction of the snake's head on the
card will show the direction of its motion on the next step. If
not, the fragment will be compared with the second card and so on,
until the proper card is found. If there is no corresponding card,
the direction of snake's movement will be random. While comparing
the card can be rotated in all directions, for example, it can be
overturned with picture down. That is why you needn't make cards
with symmetrical disposition of elements, because these cards will
work exactly the same way.

MAIN MENU - by means of this screen button you can quit to the
main menu.


Regime NOVICE.

In the right bottom part of screen you see the indicator of work
with cards which can be in one of the following conditions:

EDIT CARD
INSERT CARD
DELETE CARD

Switching of regimes is made by pressing ENTER or clicking mouse
button while the arrow cursor is placed on the indicator.

EDIT CARD -
By means of arrow cursor activate the element on the control panel
you want to put in a card. Then point the position in the card
where you want to place it and press ENTER or click mouse button.
To delete the element press ENTER again.

INSERT CARD -
put the arrow cursor on the card before which you want to insert
a new one and press ENTER or click mouse button.

DELETE CARD -
place the cursor on the card you want to delete and press ENTER or
click mouse button.

Screen buttons FOR ADVANCED are not used in this regime.


Regime ADVANCED.

This part is for players who regard the instruments suggested in
the regime NOVICE too simple.

On the control panel two buttons are added:

OR-COLOR and EXCEPT

OR-COLOR - when this button with blue indicator is activated, you
can change the colour of any element on cards to the colour of
indicator. Point the element you want to repaint and press ENTER
or click mouse button. To cancel OR-COLOR press the button again.

The rules of comparing cards are different from these of regime
NOVICE. For executing a card with one or several blue elements it
is enough that at least one of such elements would coincide (at
the same time all the ordinary elements must coincide). If it
occurs in several positions of the card the program will choose
one where the coincidence is more complete.

EXCEPT - when this button is activated, the element pointed by
cursor will be crossed out. This element will coincide if in its
place on the field any element except this one is found.

The button EXPERT is not used in this regime.


Regime EXPERT

The regime for elite.

On the control panel the button is added with colour indicator:

AND-COLOR

and one more OR-COLOUR appears (now they are blue and green).

The rules of comparing cards:
All the elements of the same colour (from AND-COLOUR set) must
coincide simultaneously. Then it is considered that this colour
group coincides.
There is also a possibility added to change the colour of the
frame encircling each card entirely. For this put the cursor on
the proper indicator, pick up the colour, then put the cursor on
the own head of your snake in chosen card and press ENTER. Along
with the frame the colour of OWN HEAD will be changed. If the
frame colour is the one from AND-COLOUR then the card is compared
the same way as in ADVANCED regime. If it is from OR-COLOUR - then
the card will coincide when at least one of the colour groups
coincides.

In this regime you can change the position of OWN HEAD in cards.


E).NEW PASSWORD

Here you can change the password of your snake. Put the cursor on
the screen button, press ENTER or click mouse button and type in
new password. The password is changed.


VIII. SYSTEM REQUIREMENTS.

-IBM PC XT/AT or compatible;
-640*350 EGA, with 256 kb on board and 16 colours;
-about 400 Kb of operating memory at run time;
-Mouse (optional)





Сайт управляется системой uCoz