Игра работает на платформе Win32. Наличие ОЗУ — 4 Мб. Разрешение экрана — 800x600 px или более.
Необходим доступ к чтению и записи файлов текущего каталога — дополнительное место на диске требуется только для записи файла таблиц рекордов (не более десятков Кб) и файла помощи (для открытия через браузер).
Сама игра не требует к системе ничего дополнительного и её работа свойства Win не изменяет.
Сапер представляет собой игру-головоломку.
Во время игры игровое поле разделено на смежные квардратные плитки. Некоторые из них заминированы (каждое поле либо заминировано, либо нет). Количество заминированных плиток известно. Целью игры является открытие всех полей, где отсутствуют мины.
Задача игрока — открыть все возможные поля таким образом, чтобы не открыть поле с миной. Если открывается поле с миной, то за этим следует смерть сапёра (проигрыш). Если под открытым полем мины нет, то в плитке появляется число, которое показывает, сколько полей, смежных с открытым, заминировано. Зная числа игрок может попытаться рассчитать расположение мин и снизить риск подорваться.
Следующей разновидностью игры является игры с различными типами полей, которые покрывают поле. В данной игре это могут быть паркетные многоугольники (такие многоугольники, которыми можно покрыть плоскость полностью без накладываний друг на друга) — треугольники, шестиугольники, один из известных видов паркетных четырехугольников. На таком поле две клетки являются смежными в случае, если они имеют между собой хотя бы одну общую точку.
В данном случае разновидностей полей много, и для всех них характерно то, что любое поле может граничить с любым другим, показанным на экране. Принцип связи понятен по названию. Для произвольной сети связь отображается соединяющей прямой, то есть если она присутствует, то при открытой клетке её число будет формироваться включая все клетки, связанные с ней.
Имеющиеся в данной версии разновидности полей:
Единицы поля представляют собой фигуры из соединенных друг с другом квадратных едичиных полей. В каждом из вариантов собирается поле из блоков по 2, 3 или 4 клетки. Т.е. например в последнем случае поле предсталяет собой плитку, уложенную фигурами тетриса.
В данном типе игр две плитки считаются связанными, если имеют хотя бы одну точку.
На поле отображается множество полей. Каждое поле может быть либо закрыто (пустое светлое), открыто и число рядом стоящих мин равно 0 (пустое темное), открыто с натуральным числом рядомстоящих мин (отображается число, каждое соответствующего номеру цвета), помечено флагом (закрытое, на нем нарисован флажок), взорванное (отображается мина, соответственно при взырве автоматически открывается все поле и видно расположение всех мин).
Изначально все поле закрыто. После действий игрока на нем могут происходить изменения.
Игра начинается тогда, когда игрок откроет хотя бы одно поле. Данное открываемое поле всегда без мины. После события открытия первого поля стартует время отчета на уровне.
Данный режим предназначен для обычной игры пользователя за компьютером — полностью все действия находятся под контролем пользователя.
В этом режиме действиями сапёра управляет компьютер. Пользователь может только наблюдать за процессом, запустить другой тип игры или новую игру, изменить настройки, просматривать поле, … — но не производить какие-либо действия от лица сапёра. Сам же компьютер, не подсматривая в закрытые клетки, пытается разминировать минное поле. Если ему это удается или он попадает на мину — то проимходит окончание игры и результат отправляется в таблицу рекордов от имени компьютера.
Пользователь может изменять следующие настройки:
Для открытия одиночных клеток пользователь может использовать правую кнопку мыши с соответствующим положением на выбираемой клетке. При этом если клетка ещё не открыта и на ней отсутствует флаг, то делается попытка открыть клетку. Соответственно если мина отсутствует, то клетка открывается и пишется на поле число, соотвествующее числу мин вокруг данной клетки. Если присутствует мина, то происходит подрыв с соответствующими последствиями.
Если число в поле равно 0, то все соседние клетки система откроет автоматически.
Для установки флага над требуемым полем нужно кликнуть правой кнопкой мыши. Если поле ещё не открыто, то на нем установится флаг. Таким же образом можно снять флаг.
Если нажать средней кнопкой мыши (по колесу) по открытому полю с числом N, и при этом вокруг этого поля имеется ровно N флагов, то система попытается открыть все неотрытые клетки, граничащие с данным полем. Соответственно если мин там нет, то игра продолжается дальше. Если есть хотя бы в одной — то следует подрыв (это возможно в случае, если игрок неправильно расставил какой-то из флагов).
Если игра закончена, то начало точно такой же игры может быть проинициировано кликом любой кнопки мыши по полю игры.
Если игра активна (или пассивна тоже), но можно воспользоваться меню, где выбрать новую игру или изменить тип игр и соответственно сразу стартовать.
За открытие любой клетки с числом рядомстоящих мин дается 10 очков, а за все автоматически открываемые клетки дальше очки не даются.
Если открывается клетка с неким числом, то дается число очков, равное этому числу. Это как в случае открытия одиночных клеток, так и в случае использования средней кнопки мыши.
Если игрок проходит уровень, то за каждый корректно поставленный флаг дается 5 очков.
За прохождение уровня даются также очки по следующей формуле:
N2/(10 + T),
где N - число мин на уровне, T - время прохождения в секундах. Результат округляется математически к найближайшему целому, не превышающему результат.
Изначально таблица рекордов пуста. В случае проведения игр (без закрытия приложения извне) результат автоматически пытается попасть в таблицу рекордов.
Для каждой из категорий игр создается своя таблица, в которой может быть не более 10 лучших результатов. Если результат не вписывается по очкам в 10 лучших, то он пропадает. Если вписывается, то занимает соответствующее место по очкам.
Также кроме очков в таблице указывается текущее место, общее время игры и факт того, остался сапёр в живых или нет.
Данные в таблице рекордов хранятся рядом с запущенным приложением в файле «usapper.scr». Данные в файле находятся в открытом виде, но они являются подписанными внутренним ключом, и при их изменениях основная программа сообщит о проблеме. В случае возникновения такой проблемы рекомендуется восстановить файл или удалить (в этом случае результаты потеряются).
© Boris Sivko, 2009.