Сапёр (модуль)

*Эта статья о модуле; об игровой роли с таким же названием см. Игровые роли.*

> Почему-то на бомбе "Сапёр" выглядит довольно устаревшим. Вспомните, как вы играли в эту игру на старых компьютерах.
>
>

**Сапёр** *(англ. Minesweeper)* — модовый обычный модуль. Представляет собой игровое поле 8×10, на котором изначально находятся несколько цветовых клеток. Модуль основан непосредственно на игре-головоломке «Сапёр» — для его обезвреживания необходимо пройти эту небольшую игру, найдя все «заминированные» клетки.

Модуль является умеренно-трудным для сапёра и очень лёгким для эксперта: вам понадобятся некоторые навыки игры в «Сапёра» и логическое мышление, чтобы найти все мины, тогда как помощь эксперта минимальна — ему нужно лишь помочь сапёру найти начальную клетку на поле. Для решения модуль требует вторую цифру и первую букву серийного номера.

## Руководство

* Обычное
* Сокращённое

* На данном модуле имеется сетка из клеток с кнопкой переключения режима:
	+ Режим раскопки / Dig Mode — В этом режиме вы раскрываете клетку, в которой, по вашему мнению, нет мины.
	+ Режим флага / Flag Mode — Помечает клетку флагом, в которой, по вашему мнению, есть мина.

### **Поиск начальной клетки**

Первая клетка, с которой стоит начать раскопки — одна из клеток с цветными квадратами. Возьмите **вторую цифру** в серийном номере. Если она равна **нулю**, замените её 10.

Теперь нужно выяснить, какая цветная клетка идёт по счёту, равной этому числу. Подсчитайте клетки с цветными квадратами **по порядку**, начиная с первого цветного квадрата в порядке чтения (отсчитывая с левого верхнего угла, и далее слева направо, сверху вниз). Считайте вашу последовательность цветных квадратов зацикленной — если вы дошли до последнего цветного квадрата, но ещё не закончили считать, то в таком случае продолжайте дальше считать с начала, с самого первого цветного квадрата в порядке чтения.

Возьмите цвет клетки, на которой вы остановились, и преобразуйте его в число. Не жмите пока на эту клетку, это лишь промежуточный этап в определении начальной позиции!

 Оранжевый | 2
 Жёлтый | 3

Затем, прибавьте полученное число к алфавитной позиции **первой буквы** в серийном номере (A = 1, B = 2, и т. д.).

Теперь подсчитайте клетки с цветными квадратами в **обратном порядке**, начиная с последнего цветного квадрата в обратном порядке чтения (отсчитывая с правого нижнего угла, и далее справа налево, снизу вверх). Если потребуется, продолжайте дальше считать с конца. Начните копать в клетке, в которой вы остановитесь.

ОБРАТИТЕ ВНИМАНИЕ: Вы не можете раскапывать другие клетки, пока не раскопаете верную начальную клетку, иначе модуль зафиксирует ошибку независимо от того, была там мина или нет.

### **Как играть в Сапёра**

Каждое число на сетке обозначает, сколько мин находится в соседних 8 клетках. Используйте их для того, чтобы понять местоположение мин. Как только вы пометили флагами все клетки с минами или раскопали все клетки без мин, модуль деактивируется. Раскопка клетки с миной приведет к её взрыву и, соответственно, ошибке.

**ПРИМЕЧАНИЕ**: Нажатие на число в режиме раскопок раскопает все соседние клетки, которые не помечены флагом. Удержание клетки пометит её флагом вместо того, чтобы провести на ней раскопку.

* Возьмите **вторую цифру** в серийном номере. Если она равна 0, замените её 10. Подсчитайте цветные клетки в порядке чтения и возьмите цвет.
* Прибавьте число данного цвета к **первой букве** в серийном номере. Подсчитайте цветные клетки в обратном порядке чтения. После чего начинайте копать.

 Оранжевый | 2
 Жёлтый | 3

## Советы по обезвреживанию

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

* Посмотрим на пример: допустим, у нас в серийном номере вторая цифра — 9. Считаем квадраты в порядке чтения, начиная с самого начала, с верхнего левого угла. Первый встретившийся квадрат — зелёный, второй — фиолетовый, и так далее. Как только мы дойдём до седьмого (оранжевого) квадрата, мы увидим, что дальше цветных квадратов нет, поэтому мы продолжаем отсчёт с начала: зелёный квадрат — восьмой, и, наконец, девятый по счёту — фиолетовый.
* Теперь, смотрим в первую таблицу. Фиолетовый = 4. Допустим, первая буква в серийном номере у нас — это G. G = 7; складываем числа: 4 + 7 = 11. Теперь считаем квадраты в обратном порядке чтения, начиная с последнего квадрата, с правого нижнего угла. Первый встретившийся квадрат — оранжевый, второй — жёлтый, и так далее. Аналогично первому разу, продолжаем отсчёт дальше, только на этот раз начинаем его заново с конца, а не с начала. И, таким образом, финальная наша клетка, 11-ая по счёту в обратном порядке — это синяя.

Пример правильного подсчёта цветных клеток в порядке чтенияПример правильного подсчёта цветных клеток в обратном порядке чтения
Ну и разумеется, основная сложность модуля — непосредственно игра в «Сапёра». На данном модуле поле очень маленькое, так что вам даже не нужно знать уникальные паттерны раскопки мин из этой игры. Но всё ещё могу пригодиться базовые знания распространённой стратегии этой игры и некоторых стандартных шаблонов расположения мин и клеток.

* Например, если клетка «1» расположена в углу и касается только одной нераскопанной клетки, то в этой клетке определённо будет мина. Именно от этого мы можете отталкиваться для начала.
* И аналогично с другими значениями клеток. Ищите те из них, которые касаются ровно того количества нераскопанных клеток, которое указанно на данной клетке.

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

## Интересные факты

* Внешне все элементы и спрайты в модуле (мины, цифры, флаги и само игровое поле) выглядят идентично игре «Microsoft Minesweeper» (Сапёр Microsoft), выпущенной изначально в 1990 году, и которая была доступна по умолчанию в ранних версиях операционных систем Windows; игра имела такой же вид вплоть до системы Windows XP включительно. Начиная же с версии Windows Vista дизайн «Сапёра» был существенно переработан.

## Ссылки

* Оригинал на английском
* Оригинал на русском
* Сокращённое руководство (от Quinn Wuest)