Приложение 4. Рекомендуемая литература. Использование Hhopen. Сапер 2002.
Сапер 2002
Игра Сапер 2002 является аналогом игры Сапер, входящей в состав Microsoft Windows.
Правила
Игровое поле состоит из клеток, в каждой из которых может быть мина. Задача игрока – найти все мины и пометить их флажками.
Используя кнопки мыши, игрок может открыть клетку или поставить в нее флажок, указав тем самым, что в клетке находится мина. Клетка открывается щелчком левой кнопки мыши, флажок ставится щелчком правой. Если в клетке, которую открыл игрок, есть мина, то происходить взрыв (сапер ошибся, а он, как известно, ошибается только один раз), и игра заканчивается. Если в клетке мины нет, то в этой клетке появляется число, соответствующее количеству мин, находящихся в соседних клетках.
Анализируя информацию о количестве мин в клетках, соседних с уже открытыми, игрок может обнаружить, пометить флажками, все мины. Ограничений на количество клеток, помеченных флажками, нет. Однако, для завершения игры (выигрыша) флажки должны быть установлены только в тех клетках, в которых есть мины. Ошибочно установленный флажок можно убрать, щелкнув правой кнопкой мыши в клетке, в которой он находится.
О программе
Игра Сапер 2002 создана в Delphi 7. Демонстрирует работу с графикой, окнами, использование рекурсии, вывод справочной информации.
Текст программы можно найти в книге:
Культин Н.Б., Основы программирования в Delphi 7. СПб.: БХВ – Петербург, 2002.
Проблемы
Для вывода справочной информации игра Сапер 2002 использует компонент hhopen, который физически представляет собой файл hhopen.ocx.
Если компонент в системе не зарегистрирован, то в процессе запуска программы возникает ошибка (исключение).
Для того чтобы зарегистрировать компонент, надо:
- скопировать файл hhopen.ocx в каталог c:\windows\system или c:\windows\system32 (если программа запускается в Microsoft Windows 2000)
- зарегистрировать компонент hhopen, для чего надо из командной строки, которая становиться доступной в результате выбора команды Пуск/Выполнить, запустить системную утилиту regsrv32, указав в качестве параметра файл hhopen.ocx