Сапёр без угадывания: паттерн 1-2-1 и как читать поле
Три соседние цифры 1-2-1 на границе открытой области определяют две мины без всякого риска. Вместе с 1-2-2 и счётчиком мин это весь нужный набор.
В сапёре нужно понять одну вещь, и всё остальное следует из неё: цифра ничего не говорит о клетке, на которой стоит, — она описывает восемь клеток вокруг.
Правило клетки — то, которым вы уже пользуетесь
Если у цифры ровно столько закрытых соседей, сколько она сама, то все они мины. Если рядом с ней уже стоит столько флажков, сколько показывает цифра, то все оставшиеся закрытые соседи безопасны и открываются аккордом.
Этим закрывается почти всё лёгкое поле и добрая часть среднего. Дальше начинается место, где большинство игроков переходит к угадыванию, — и именно там в дело вступают паттерны.
Паттерн 1-2-1
Представьте границу открытой области с тремя соседними цифрами 1, 2, 1. Под ними, с закрытой стороны, лежат три клетки.
Результат вынужденный: мины стоят под крайними единицами, а клетка под двойкой безопасна.
Почему? Двойке нужны две мины среди трёх клеток. Если бы мина стояла под двойкой, одна из единиц видела бы рядом с собой две мины — а она сообщает только об одной. Противоречие. Всем трём цифрам удовлетворяет ровно одна расстановка.
Это не эвристика и не «обычно так». Это доказательство, и поэтому на него можно опираться в игре на время.
Паттерн 1-2-2
Тот же механизм, другая форма: в последовательности 1-2-2 мины стоят под двумя двойками, а клетка под единицей безопасна.
Оба паттерна по сути одна и та же идея: вы перестаёте смотреть на отдельную цифру и начинаете смотреть на набор клеток, о котором две соседние цифры говорят одновременно. Когда набор одной цифры целиком входит в набор другой, разница между ними определена.
Счётчик мин — третье и последнее правило
Счётчик оставшихся мин над полем — это инструмент, а не украшение. Концовки часто выглядят так: осталось три закрытые клетки и одна мина, а какая-то цифра сообщает «одна мина в двух из этих клеток». Тогда третья клетка безопасна, хотя по отдельности этого не говорит ни одна цифра.
Почему здесь никогда не нужно угадывать
Классический сапёр создаёт концовки, в которых две клетки содержат одну мину и ничто не подсказывает, какая именно, — остаётся бросить монетку. При одном поле дня на весь мир это означало бы, что половина игроков проигрывает случайно, а рейтинг измеряет везение.
Поэтому генератор выпускает поле только после того, как его собственный решатель прошёл его этими тремя правилами: правилом клетки, правилом подмножеств (то есть 1-2-1 и 1-2-2, записанными формально) и счётчиком мин. Если вы застряли, ответ есть на поле. Его нужно найти, а не разыграть.
У этой гарантии есть намеренно жёсткое следствие: одна мина заканчивает партию. Если поле доказуемо честное, наступить на мину — это ошибка, а не невезение.
Три привычки, которые сокращают время
- Ставьте флажок только там, где он что-то открывает. Сам по себе флажок не приближает к победе — приближает аккорд, который он делает возможным.
- Пользуйтесь аккордом. Клик по открытой цифре, у которой уже расставлены все флажки, открывает остальное одним движением. На поле 16×20 это сотни сэкономленных кликов.
- Работайте на границе, а не внутри. Вся информация живёт на краю открытой области. В середине сказать уже нечего.
Остальное — практика, и лучшее место её проверить это сегодняшнее поле, потому что ровно в него и по тем же правилам играет весь мир.