Игры
Как выиграть в сапере: открывать клетки, а не ставить флажки
Выиграть в сапере — значит открыть все клетки, в которых нет мины; флажки нужны вам, а не игре. В «Уютном сапере» на iOS и Android последние мины отмечаются сами, как только вы открыли последнюю безопасную клетку. Дойти до неё помогают два простых правила: их применяют по кругу, вдоль края уже открытой области. Ниже — сами правила, куда лучше делать первый ход и что делать, когда не подходит ни одно из них.
Что вообще считается победой?
Открыты все клетки, в которых нет мины. Это всё условие целиком — про флажки в нём ничего не сказано.
«Уютный сапер» засчитывает победу, как только открыта последняя безопасная клетка. Дальше он сам ставит флажки на оставшиеся мины, опускает счётчик до нуля и через 600 миллисекунд показывает окно с вашим временем. Тот, кто не поставил ни одного флажка, выигрывает ту же партию, что и тот, кто расставил все 99.
Значит, флажки нужны вам, а не игре. Ими вы помечаете клетку, которую уже посчитали. Ещё от них зависит счётчик мин в верхней строке. Он начинается с числа мин на выбранной сложности и убавляет по единице за каждый флажок.
Ограничений два: флажков нельзя поставить больше, чем мин на поле, и нельзя ставить их до первого открытия. И то и другое игра не пропускает молча — будет звук и красная вспышка счётчика.
Какие два правила закрывают почти всё поле?
Цифра на открытой клетке — это число мин в восьми соседних клетках. Всё дальнейшее — тот же факт, прочитанный с двух сторон.
- Цифра набрана. На клетке 2, и два её соседа уже под флажками — значит, остальные соседи безопасны. Открывайте.
- Цифра набирается только минами. На клетке 3, и закрытых соседей у неё ровно три — значит, мины во всех трёх. Ставьте флажки.
Каждое правило по отдельности даёт мало. Сила в том, что каждый ход меняет счёт у соседних цифр. Клетка, которую секунду назад посчитать было нечем, после соседнего хода считается. Поэтому обходите край открытой области по кругу и возвращайтесь к цифре, как только у неё открылся или получил флажок любой сосед.
Поле, которое считаете вы
Поле, которое доделывает игра
Есть и третье правило, для концовки, но верно оно только тогда, когда верны ваши флажки. Когда счётчик мин дошёл до нуля, все ещё закрытые клетки безопасны — но лишь при условии, что каждый флажок стоит на своём месте. Один флажок не на месте — и это уже проигрышный тап. Поэтому флажок стоит ставить на то, что доказано, а не на то, что кажется.
Аккорда — приёма, который разом открывает всех оставшихся соседей у набранной цифры, — в «Уютном сапере» нет. На него опираются многие руководства по настольной версии. Вместо него в настройках есть выбор схемы управления. Либо тап открывает клетку, а долгое нажатие в 300 миллисекунд ставит флажок, либо наоборот: тап ставит флажок, а двойной тап открывает. Вторая схема прощает промах: вы поставите лишний флажок и снимете его, а не откроете клетку, которую уже не вернуть.
Куда делать первый ход?
Куда угодно: в «Уютном сапере» первый тап не может попасть на мину. Мины расставляются уже после него и не попадают ни в нажатую клетку, ни в восемь соседних. Дело в том, как собрано поле, а не в везении, и обычный совет о том, откуда начинать, из-за этого перестаёт работать.
Большинство руководств советует начинать с угла: у угловой клетки три соседа вместо восьми, поэтому шанс, что она пустая, выше. Для версий, где мины лежат на поле ещё до первого клика, это верно. В «Уютном сапере» это ничего не меняет — первая клетка пуста в любом случае.
Аргумент в пользу центра — размер чистого пятна. Ход в центр оставляет без мин девять клеток, ход в угол — четыре, поэтому из центра открывается больше края, по которому потом можно считать. Это рассуждение о том, как работает расстановка, а не измеренный процент побед — мы его не считали.
Что делать, когда безопасного хода нет?
Посчитать, какая клетка подорвёт вас с меньшей вероятностью, и открыть её. Позиции, в которых поле не подсказывает следующий ход, действительно бывают, и про них в большинстве руководств не пишут.
Ричард Кей опубликовал статью Minesweeper is NP-complete в The Mathematical Intelligencer за 2000 год. В ней показано: даже проверка, согласовано ли частично открытое поле, — NP-полная задача. Согласовано — значит существует хотя бы одна расстановка мин, подходящая ко всем открытым цифрам.
Речь про общую задачу, а не про обещание, что угадывать придётся именно вам. А то, почему угадывать всё-таки может понадобиться, объясняется проще. Генератор гарантирует безопасное начало и больше ничего, и решаемость без угадывания никто не проверяет.
Дальше ход выбирают по двум числам. Первое считается по одной цифре: если у единицы два закрытых соседа, каждый из них — мина в половине случаев. Второе — это оставшиеся мины, поделённые на оставшиеся закрытые клетки. Такова вероятность мины в клетке, у которой нет ни одного открытого соседа с цифрой. Выбирайте меньшее и не тяните: угадать при шестидесяти закрытых клетках безопаснее, чем при шести.
Головоломка может пообещать вам решение, а сапер — нет. В маджонге-пасьянсе раскладку можно собрать так, чтобы решение существовало, и мы собираем свою именно так. В сапере такой гарантии нет. Переносится другое — привычка из текста про головоломку с блоками: выбирать ход, который оставляет вам следующие.
Когда появился сапер?
Идея сетки со счётчиками соседних мин добралась до домашних компьютеров в 1983 году. По статье «Википедии» о Mined-Out, игра вышла в том году на ZX Spectrum. Автор — Иэн Эндрю, издатель — Quicksilva. Детектор в игре показывал, сколько невидимых мин рядом, но считал только четыре направления, без диагоналей.
Версия Microsoft моложе и разошлась несравнимо шире. По статье «Википедии» о Microsoft Minesweeper, её написали Курт Джонсон и Роберт Доннер. Игра вышла в составе Microsoft Entertainment Pack 1 в 1990 году. В стандартную установку Windows 3.1 она попала в 1992-м и заменила там «Реверси». Из установки по умолчанию её убрали только в Windows 8, в 2012 году.
Почему в него играют до сих пор?
Потому что за два десятилетия предустановки игре научилось целое поколение, а правила оказались такими, что их стоило оставить и потом.
Предустановка была расчётом. По разбору 99% Invisible об играх Windows, пасьянс учил перетаскиванию, а сапер — двум кнопкам мыши и точности курсора. Мышь тогда была новинкой для большинства. Это объясняет, как игра попала на каждый стол. Но не объясняет, почему её открывают и через четырнадцать лет после того, как Windows перестала ставить её по умолчанию.
Причина — в устройстве самой игры. Правила умещаются в одно предложение. Длина партии зависит от размера поля, а его вы выбираете сами вместе со сложностью. Между заходами ничего не нужно помнить.
Такая игра легко переезжает на телефон. Поле — это весь интерфейс, ход — одно касание, а для игры связь не нужна. Про такие игры мы писали в тексте про офлайн-игры для детей: всё нужное для партии лежит на устройстве. «Уютный сапер» на iOS и Android устроен так же. В сеть у него выходят только реклама AdMob и аналитика с отчётами о сбоях в Firebase.
Сложности здесь классические: 8×8 с 10 минами, 16×16 с 40 и 16×30 с 99 в портретной ориентации. У каждой своя таблица ваших пяти лучших времён.
Сколько это стоит и что показывает?
«Уютный сапер» на iOS и Android бесплатен в обоих магазинах, и покупать в нём нечего. Взамен игра показывает рекламу, и знать об этом лучше до установки. «Уютный сапер» показывает баннер AdMob в отведённой полосе внизу каждого экрана и рекламу на весь экран после каждого третьего проигрыша. Первый и второй проигрыш после установки проходят без неё. Убрать покупкой ни баннер, ни рекламу на весь экран сейчас нельзя.
О том, чего в игре нет, стоит сказать отдельно: жанр известен именно этим. Нет таймера ожидания между партиями, жизней, монет и ежедневной серии, которую можно прервать. Ничего вас не ждёт, и никто не берёт денег за то, чтобы ждать не пришлось. Арифметика такого обмена разобрана в тексте сколько стоит подписка на игру-головоломку.
«Уютный сапер» бесплатен на iOS и Android, работает без связи и не просит аккаунт. Чтобы два правила выше дошли до автоматизма, хватит минут десяти практики. На странице приложения указаны обе платформы и то, что оно показывает, а остальная полка — на странице игр.
Частые вопросы
- Нужно ли ставить флажки, чтобы выиграть в сапере?
- Нет. Партия выиграна, когда открыты все клетки без мин; флажки нужны, чтобы не пересчитывать одно и то же, а в условие победы они не входят. В «Уютном сапере» на iOS и Android игра сама ставит флажки на оставшиеся мины, как только открыта последняя безопасная клетка, и счётчик мин доходит до нуля ещё до окна с результатом.
- Может ли первый ход в сапере попасть на мину?
- В «Уютном сапере» на iOS и Android — нет. Мины расставляются не в начале партии, а при первом открытии, и попадают куда угодно, кроме нажатой клетки и восьми соседних. Поэтому первый тап безопасен в любой точке поля и всегда открывает область, а не одну цифру.
- Любое ли поле в сапере решается без угадывания?
- Нет, и «Уютный сапер» на iOS и Android этого не обещает. Генератор поля гарантирует безопасный первый ход и больше ничего, поэтому может возникнуть позиция, в которой две клетки одинаково подходят ко всем цифрам. Тогда остаётся арифметика: выбрать клетку, у которой вероятность мины меньше.
- Куда лучше делать первый ход — в угол или в центр?
- В «Уютном сапере» на iOS и Android аргументы на стороне центра. Ход в угол оставляет без мин четыре клетки, ход в центр — девять, потому что из расстановки исключаются нажатая клетка и её соседи. Совет открывать угол относится к старым версиям, где мины лежат на поле ещё до первого клика.
- Показывает ли «Уютный сапер» на iOS и Android рекламу?
- Да. Игра бесплатная и показывает баннер AdMob в отведённой полосе внизу каждого экрана, а после каждого третьего проигрыша — рекламу на весь экран. Первый и второй проигрыш после установки проходят без неё. Убрать рекламу покупкой сейчас нельзя, и на карточке приложения об этом написано до установки.