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