Как решать сокобан
Разбор головоломки
https://grandgames.net/sokoban/id393179 1. В начальной позиции игрок заблокирован в замкнутом пространстве. Для того, чтобы освободиться, нужно сдвинуть один из ящиков. Всего возможно толкнуть четыре ящика, но если сделать ход, отмеченный одной из синих стрелок, то сдвинутый ящик будет окончательно заблокирован либо у стены, либо в углу. Таким образом, нужно сделать ход, обозначенный зеленой стрелкой.
2. Выделенные красным два ящика перегораживают проход. Чтобы освободить его, нужно сначала сдвинуть вверх правый ящик.
3. Затем левый ящик можно задвинуть в левый угол. Этот ход ставит ящик на финальное место и одновременно разблокирует проход.
4. Рассмотрим клетку, выделенную на рисунке красным. Очевидно, что поместить в нее ящик можно только одним способом: сначала задвинуть ящик в синюю клетку, а затем толкнуть его влево. Для того, чтобы это стало возможным, сначала сместим помеченный зеленым ящик на две клетки влево.
5. Теперь сдвинем зеленый ящик на одну клетку вниз. После этого хода синий ящик можно сдвинуть на две клетки вниз. Это позволит разблокировать проход в верхнюю часть поля.
6. Заполним ящиком красную клетку. Для этого сдвинем зеленый ящик на одну клетку влево. Теперь синий ящик можно сдвинуть на две позиции вверх и затем на одну влево, после чего он встанет на требуемое место.
7. Рассмотрим несколько позиций, которые нужно заполнить ящиками. Очевидно, что и красную клетку, и синюю клетку можно заполнить только ящиками, которые будут перемещены из зеленой клетки. При этом, если сначала задвинуть ящик в синюю клетку, доступ к красной будет полностью заблокирован. Кроме того, если сейчас задвинуть зеленый ящик в красную клетку, то игрок окажется заблокирован в замкнутом пространстве. Поэтому для начала сдвинем черный ящик вправо и вниз и освободим доступ в этот блок сверху.
8. Теперь переместим зеленый ящик в красную клетку.
9. Если сейчас поместить ящик в синюю клетку, то позже будет невозможно задвинуть что-либо в красную клетку. Поэтому сначала переместим зеленый ящик в красную клетку.
10. Теперь можно переместить в синюю клетку ящик, выделенный зеленым.
11. Оставшиеся два ящика легко перемещаются в соответствующие клетки. Сначала перемещается зеленый ящик, а затем – синий.
12. Головоломка решена!