Постановка
задачи
Требуется
создать средствами 1С игру "Охота на лис". Правила игры
следующие.
Цель
игры состоит в том, чтобы как можно быстрее найти всех лис на игровом
поле.
Игровое
поле состоит из информационого и игрового полей.
Игрок имеет возможность открыть любую клетку, щелкнув ее левой кнопкой
мыши. Если в клетке находится лиса, то она показывается.
Если лисы нет, в клетке появится цифра, которая указывает, сколько
лис находится на горизонтали, вертикали и диагоналях клетки. Игра
заканчивается после поимки всех лис.
Объекты
конфигурации
Игра реализована в виде внешнего отчета (ert-файл). Поэтому игру
можно подключить к любой конфигурации и доставить радость вашим
пользователям!
Технические
подробности
Игровое
поле реализовано в виде множества кнопок на трех слоях формы. Текущая
игровая ситуация хранится в массиве Поле[100]. Число 0 означает
куст, 1 - скрытую лису, 2- пойманную лису, 3 - число. В процедуре
ОбновитьПоле выводится игровое поле на форме в соответствии с этим
массивом.
Кнопка
Игра, вызывает процедуру Игра(), которая начинает новую игру: расставляет
на поле лис с помощью функции СлучайноеЧисло(). Кстати, очень полезная
функция, но 1С ее почему-то не реализовала. Наверное, думала, что
в бухгалтерии "ничто не случайно".
При
нажатии на кнопку с лисой вызывается процедура ЛисаПоле(), при нажатии
на кнопку с кустом или скрытой лисой вызывается процедура КустПоле.
Если на поле скрытой лисы не было, то отображается число лис же
горизонтали, вертикали и диагоналях клетки. Это число подсчитывается
процедурой КоличествоЗапеленгованныхЛис().
Если
количество пойманных лис (переменная ПЛ) равняется количеству всех
лис (переменная ВЛ), то игра заканчивается. Если ходов было сделано
меньше, чем в рекорде, то победителю придлагается увековечить свое
достижение (процедура Увековечить).
Домашнее
задание
Заставьте компьютер
играть в эту игру. Придумайте алгоритм для поиска всех лис за минимальное
число ходов.
Что
можно скачать
Скачать игру
"Охота на лис" (14К)
|