Играй в Сокобан бесплатно в браузере. Толкай ящики на целевые клетки. Без скачивания.
Вы управляете персонажем на сетчатом поле. Задача — толкнуть все ящики на отмеченные целевые клетки. Персонаж может толкать ящик, встав вплотную к нему и двигаясь в его сторону, но тянуть ящик нельзя. Ящик нельзя толкнуть, если за ним стена или другой ящик. Если ящик оказался в углу (не на цели), его уже не вытащить — уровень придётся начинать заново. Большинство реализаций сокобана предлагают отмену последнего хода.
Главный принцип сокобана — предотвращение тупиков. Опасные позиции: ящик у стены без свободы движения вдоль неё, два ящика, блокирующих друг друга, ящик в углу не на цели. Перед каждым толчком спросите себя: куда может попасть этот ящик дальше? Нередко правильнее сначала расчистить путь для другого ящика. Уровни сокобана специально спроектированы так, что интуитивно очевидный ход часто ведёт в тупик — именно это делает их такими захватывающими.
Сокобан создан японским программистом Хироюки Имабаяси в 1982 году и выпущен компанией Thinking Rabbit. Несмотря на простые правила, игра доказуемо является PSPACE-complete — то есть решить оптимальным образом сложные уровни алгоритмически крайне затруднительно. Существуют тысячи авторских уровней, а международные соревнования по сокобану собирают игроков по всему миру. Это один из редких жанров, где человеческая интуиция нередко превосходит алгоритмы.
Самая распространённая ошибка — толкать ящик к цели, не расчистив путь, который понадобится самому ящику позже. Поскольку толкать можно, но тянуть нельзя, ящик, прижатый к стене посреди уровня, нередко перекрывает ту самую дорожку, по которой должен пройти другой ящик. Новички также склонны решать цели в том порядке, в каком замечают их, а не в том, какой допускает раскладка: ближайшая цель не всегда та, которую нужно закрыть первой. Ещё одна ловушка — завести персонажа в тупиковый коридор и обнаружить, что нужный ящик теперь позади, а развернуться негде. Прежде чем действовать, спросите себя, какие ящики должны попасть на какие цели, а затем прикиньте, какие толчки обратимы за счёт подхода с другой стороны. В сомнениях лучше оставить ящик на открытом полу, чем парковать его там, где стена отнимает у вас будущее направление толчка.
Уровни Сокобана усложняются не за счёт скорости, а за счёт добавления ящиков и сужения коридоров. На ранних уровнях обычно один-два ящика и несколько подходов, поэтому почти любой порядок срабатывает. На средних уровнях появляются общие коридоры, где порядок толчков и становится всей головоломкой. Экспертные наборы, такие как известные коллекции Grigr и XSokoban, могут требовать десятков ящиков и сотен ходов с единственным верным решением. Чтобы расти, тренируйтесь решать небольшие уровни в уме задом наперёд: представьте каждый ящик уже на его цели, затем вообразите последний толчок, который его туда поставил, и проследите, с какой свободной клетки вы бы толкали. Это обратное рассуждение быстро выявляет цели, достижимые лишь с одного направления, которые поэтому нужно планировать первыми.
Нет. Кладовщик умеет только толкать, но не тянуть, — именно это правило и делает Сокобан сложным. Если ящик заехал в угол, который не является целью, он застрял навсегда. Используйте отмену хода или перезапуск, а не пытайтесь его высвободить.
Проверенные наборы уровней протестированы на решаемость, но один неверный толчок может перевести позицию в нерешаемое состояние прямо во время игры. Уровень остаётся проходимым лишь до тех пор, пока вы избегаете необратимых тупиков. Как только ящик заперт в углу не на цели, единственный путь вперёд — перезапуск или отмена.
Для прохождения уровня нужно, чтобы каждый ящик стоял на цели, и число шагов победе не мешает. Однако многие версии учитывают суммы ваших ходов и толчков, чтобы вы могли искать решение покороче. В соревновательном Сокобане очки начисляются за наименьшее число толчков, а не за самое быстрое время.
Ящик, прижатый к стене, может скользить только вдоль неё, но не от неё. Прежде чем толкать его к стене, убедитесь, что его цель лежит где-то вдоль той же линии стены. Если цель не у стены, держите ящик на открытом полу, где у вас сохраняются все четыре направления толчка.
Первыми закрывайте цели, к которым можно подойти лишь с одного направления, так как эти толчки самые ограниченные. Цели на открытых участках, к которым можно подойти с нескольких сторон, оставляйте напоследок. Если решить гибкие цели рано, это часто перекрывает коридоры, которые ещё нужны ограниченным ящикам.