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

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

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

Уровень из текста

Уровни «Сокобана» с восьмидесятых годов пишут текстом: «#» — стена, «$» — ящик, «.» — место для ящика, «@» — кладовщик, пробел — пол. А ещё «*» — ящик, уже стоящий на месте, и «+» — кладовщик на месте для ящика.

Что сделать

Прочитайте уровень «Сокобана», записанный текстом, как его пишут с восьмидесятых.

Что приходит

  • stroki — уровень, список строк: # — стена, . — место, $ — ящик, @ — кладовщик, * — ящик на месте, + — кладовщик на месте

Что вернуть

Четвёрку: списки клеток (ряд, столбец) со стенами, с местами, с ящиками — по строкам — и клетку кладовщика, нет его — None.

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

В игре

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

Без этого шага: читаются только «#», «@», «$» и «.» — ящик на месте («*») и кладовщик на месте («+») превращаются в пол.

Вызов
razobrat_uroven(["#####", "#@$.#", "#####"])
Вернуть
([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4)], [(1, 3)], [(1, 2)], (1, 1))

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

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

Обсуждение

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

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