Помощь по игре «USapper»

Содержание

Системные требования

Игра работает на платформе Win32. Наличие ОЗУ — 4 Мб. Разрешение экрана — 800x600 px или более.

Необходим доступ к чтению и записи файлов текущего каталога — дополнительное место на диске требуется только для записи файла таблиц рекордов (не более десятков Кб) и файла помощи (для открытия через браузер).

Сама игра не требует к системе ничего дополнительного и её работа свойства Win не изменяет.

Правила игры

Классический сапер

Сапер представляет собой игру-головоломку.

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

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

Игра с различными типами паркетных многоугольников

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

Графовые поля

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

Имеющиеся в данной версии разновидности полей:

Статическая сеть
Поле представлено в виде множества одельно стоящих полей. Если поля достаточно близко расположены, то они соеденены связью.
Шахматный конь
Поле представлено в виде прямоугольника из клеток. Но в отличие от классического сапёра свзи между клетками формируются по правилу хода шахматного коня — смещение на две клетки по вертикали и одну по горизонтали или на одну по вертикали и на 2 по горизонтали.
Лабиринт
Поле представляет собой лабиринт из клеток. Каждая клетка имеет связь с ближайшими клетками, лежащими строго от неё по горизонтали, вертикали или диагонали.

Блоковые поля

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

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

Объекты в игре

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

Изначально все поле закрыто. После действий игрока на нем могут происходить изменения.

Игра начинается тогда, когда игрок откроет хотя бы одно поле. Данное открываемое поле всегда без мины. После события открытия первого поля стартует время отчета на уровне.

Режимы игры

Основной

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

Демонстрация

В этом режиме действиями сапёра управляет компьютер. Пользователь может только наблюдать за процессом, запустить другой тип игры или новую игру, изменить настройки, просматривать поле, … — но не производить какие-либо действия от лица сапёра. Сам же компьютер, не подсматривая в закрытые клетки, пытается разминировать минное поле. Если ему это удается или он попадает на мину — то проимходит окончание игры и результат отправляется в таблицу рекордов от имени компьютера.

Настройки

Пользователь может изменять следующие настройки:

Представиться
Задает имя пользователя. Оно отображается во время игры и будет занесено в таблицу рекордов в случае, если будет установлен рекорд. По умолчанию значение «Инкогнито». Также в это будет преобразовано в случае ввода пустого имени.
Выделение соседних клеток
При наведении курсора мыши на произвольное поле будут выделяться все соседние клетки (которые участвуют в подсчета числа). По умолчанию сброшено.
Выделение курсорной клетки
При наведении курсора мыши на произвольное поле это поле будет выделено. По умолчанию установлено.
Установить время мерцания
В случае, когда игрок открывает клетки, они начинают мерцать некоторое время для индикации того, что изменилось. Данной настройкой можно задать данное время в секундах. В случае, если значение равно 0, мерцания не будет вообще. По умолчанию мерцание выключено.
Фон
Настройка задает оформление фона. На игровой процесс не виляет. По умолчанию фон — перелив из синего в черный.

Интерфейс пользователя

Открытие одиночных клеток

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

Если число в поле равно 0, то все соседние клетки система откроет автоматически.

Установка флага

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

Открытие клеток по флагам

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

Начало новой игры

Если игра закончена, то начало точно такой же игры может быть проинициировано кликом любой кнопки мыши по полю игры.

Если игра активна (или пассивна тоже), но можно воспользоваться меню, где выбрать новую игру или изменить тип игр и соответственно сразу стартовать.

Начисление очков

Очки во время игры

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

Если открывается клетка с неким числом, то дается число очков, равное этому числу. Это как в случае открытия одиночных клеток, так и в случае использования средней кнопки мыши.

Очки за прохождение уровня

Если игрок проходит уровень, то за каждый корректно поставленный флаг дается 5 очков.

За прохождение уровня даются также очки по следующей формуле:

N2/(10 + T),

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

Таблица рекордов

Изначально таблица рекордов пуста. В случае проведения игр (без закрытия приложения извне) результат автоматически пытается попасть в таблицу рекордов.

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

Также кроме очков в таблице указывается текущее место, общее время игры и факт того, остался сапёр в живых или нет.

Данные в таблице рекордов хранятся рядом с запущенным приложением в файле «usapper.scr». Данные в файле находятся в открытом виде, но они являются подписанными внутренним ключом, и при их изменениях основная программа сообщит о проблеме. В случае возникновения такой проблемы рекомендуется восстановить файл или удалить (в этом случае результаты потеряются).


© Boris Sivko, 2009.