Войти Создать аккаунт

Войдите, чтобы продолжить.

Игра «Сокобан» · Шаг 6 из 6

Дойти по щелчку

Гонять кладовщика стрелками через весь склад скучно. Щёлкни по клетке — и он сам дойдёт туда кратчайшей дорогой, обходя стены и ящики и ничего не толкая.

Что сделать

Проведите кладовщика к клетке по щелчку кратчайшей дорогой, ничего не толкая.

Что приходит

  • ot — где кладовщик

  • do — куда щёлкнули

  • steny и yashchiki — клетки стен и ящиков; на них заходить нельзя

  • vysota и shirina — размер уровня

Что вернуть

Список направлений кратчайшего пути: ["vverh", "vpravo", …]; дойти нельзя — None; кладовщик уже там — [].

Допишите функцию put в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Игра зовёт put, когда вы щёлкаете по клетке, и проводит кладовщика по вашему пути шаг за шагом. Решите шаг — и через склад можно будет ходить щелчками.

Без этого шага: щелчок ничего не делает — ходите стрелками.

Пример

Из (1, 1) в (1, 4): прямо мешает стена (1, 3), снизу — (2, 2). Путь — вверх, три раза вправо, вниз: ["vverh", "vpravo", "vpravo", "vpravo", "vniz"]. Соседей обход перебирает в порядке вверх, вниз, влево, вправо.

Тот же пример кодом
Вызов
put((1, 1), (1, 4), [(0, 0), (2, 2), (1, 3)], [], 3, 5)
Вернуть
['vverh', 'vpravo', 'vpravo', 'vpravo', 'vniz']

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.