Sokoban-Lettres

Техніки розв’язання

Поглиблені стратегії

Посібник пояснює, як грати. Ця сторінка пояснює, як не програвати. Початківця від упевненого гравця відрізняє не швидкість, а те, що він бачить, перш ніж штовхнути перший ящик.

Правило, з якого випливають усі інші

Поштовх ніколи не скасовується одним ходом. Щоб повернути ящик туди, звідки він прийшов, Сокко має обійти його й штовхнути з іншого боку — а для цього клітинка позаду має бути і вільною, і досяжною. У коридорі завширшки в одну клітинку ця умова не виконується ніколи: ящик рухається вперед, і це все.

Звідси проста дисципліна. Перед кожним поштовхом питання не в тому, «чи наблизить це ящик до цілі», а в тому, «чи зможу я й далі діставатися боків, які мені знадобляться».

Як розпізнавати мертві клітинки

Мертва клітинка — це клітинка, з якої ящик уже не вийде. Вони не залежать від перебігу партії: вони випливають лише з форми поля, а отже, їх можна визначити до першого ходу. Помітити їх на старті — найвигідніша звичка в цій грі.

Кути

Дві перпендикулярні стіни утворюють кут. Заштовханий туди ящик застряг назавжди: обидва напрямки виходу вимагали б, щоб Сокко стояв усередині стіни. Якщо в цьому куті немає цілі, поле програне тієї миті, коли ящик туди потрапляє.

Краї стін

Ящик, притиснутий до прямої стіни, може лише ковзати вздовж неї. Якщо на цій лінії немає цілі, ящик втрачено, хоча він і не в куті. Це найчастіше недооцінене блокування: ящик усе ще рухається, і здається, що його можна врятувати.

Квадрати з чотирьох

Чотири ящики, що утворюють квадрат два на два, блокують одне одного: в жодного немає вільної клітинки позаду в потрібному напрямку. Те саме блокування дають три ящики й стіна або два ящики й кут. Щойно два ящики стають сусідніми вздовж стіни, конфігурацію варто перевірити.

Огляд на старті

Три прочитання до першого ходу, саме в такому порядку:

  1. Мертві клітинки. Знайдіть кути й лінії стін без цілей. Вони заборонені до кінця партії.
  2. Єдині проходи. Знайдіть коридори завширшки в одну клітинку: ящик, що туди зайшов, не розвернеться, а ящик, що там спинився, розрізає поле навпіл.
  3. Зони розвороту. Знайдіть відкриті ділянки щонайменше два на два. Це єдині місця, де Сокко може змінити бік без обходу, і саме вони визначають, які порядки розстановки взагалі можливі.

Що додають літери

У класичному сокобані ящики взаємозамінні: будь-який може зайняти будь-яку ціль. Тут — ні. Ящик із літерою «Р» має рівно одне призначення, і якщо двом літерам треба розминутися, для цього потрібне місце.

Це змінює задачу. Питання вже не «як довести ящики до цілей», а «в якому порядку їх рухати, щоб жоден не перекрив шлях іншому». Два практичні наслідки:

Починайте з країв

На горизонтальному ряду цілей найнадійніший метод — почати з одного краю й рухатися до іншого. Літера, поставлена ліворуч, заважає лише тому, що йде з її лівого боку; літера, поставлена посередині, заважає з обох.

Який край обрати — залежить від поля: беріть той, з протилежного боку якого більше простору для маневру, бо саме там відбуватиметься кінцівка, коли місця бракуватиме найбільше.

Бережіть доступ до боків

Щоб штовхнути ящик праворуч, Сокко має стояти ліворуч від нього. Хоч яким очевидним це здається, наприкінці рівня воно стає болючим: кожен поставлений ящик забирає клітинку з гри, і місця, щоб зайняти позицію, меншає з кожним ходом.

Ящик, шлях якого не завершено, має зберігати щонайменше одну вільну клітинку з того боку, звідки його штовхатимуть. У разі сумніву майже завжди краще перемістити Сокко заздалегідь, навіть ціною зайвих ходів, ніж опинитися не з того боку ящика, який уже не обійти.

Коридори

Коридор завширшки в одну клітинку накладає три обмеження одразу: ящик рухається лише в один бік, Сокко не може його обігнати, і два ящики не розминуться. Тому ящик, що зайшов у коридор, має вийти звідти, перш ніж туди зайде наступний.

Коли кілька літер мають пройти той самий прохід, порядок проходження диктується порядком їхнього прибуття на ряд цілей. Визначити цей порядок до того, як перший ящик рушив, — найпростіший спосіб уникнути найпоширенішого глухого кута гри.

Як зрозуміти, що партію програно

Почати спочатку рано краще, ніж пізно. Три ознаки не обманюють:

У всіх трьох випадках жодна послідовність ходів не врятує позицію. Перезапуск безкоштовний: скористатися ним одразу після встановлення діагнозу — це виграш часу, а друга спроба вже спирається на все, що перша розкрила про поле.

Як зростати стабільно

Підказки задають напрям і рятують із халепи, але не будують майстерності. Її будує звичка читати поле, перш ніж його торкатися: знайти мертві клітинки, визначити єдині проходи, обрати порядок. Спершу таке прочитання займає близько тридцяти секунд, після двадцяти полів — кілька секунд, а згодом стає найприємнішою частиною гри.

Щоб тренуватися без ризику, режими складності дозволяють змінювати по одному обмеженню за раз: те саме поле з прихованими позначками — вже зовсім інша задача.