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

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

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

Решён или тупик

После каждого хода игра смотрит на поле. Все ящики на местах — уровень решён. А ящик, загнанный в угол между двумя стенами, оттуда уже не вытолкать: если это не его место, уровень проигран, и лучше сказать об этом сразу, чем через двадцать бесполезных ходов.

Что сделать

Посмотрите на поле после хода — уровень решён, ящик застрял в углу или игра продолжается.

Что приходит

  • yashchiki — клетки ящиков

  • celi — места для ящиков

  • steny — клетки стен

Что вернуть

"решён", если все ящики на местах; иначе "тупик", если ящик не на месте стоит в углу — стена сверху или снизу и сбоку; иначе None.

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

В игре

Игра спрашивает ocenka после каждого хода. «Решён» — переход на следующий уровень, «тупик» — ящик краснеет, и игра предлагает отменить ход. Решите шаг — и застрявший ящик будет виден сразу.

Без этого шага: застрявший в углу ящик никто не замечает.

Вызов
ocenka([(1, 3)], [(1, 3)], [(0, 3), (1, 4)])
Вернуть
'решён'

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

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

Обсуждение

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

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