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

Игра «Змейка» · Шаг 1 из 5

Ползти

Змейка — это клетки поля от головы к хвосту. За один такт она ползёт: голова переходит в соседнюю клетку, остальное тело — следом. А если голова пришла на еду — хвост остаётся на месте, и змейка становится длиннее на одну клетку.

Что сделать

Сдвиньте змейку на одну клетку — а если голова пришла на еду, пусть подрастёт.

Что приходит

  • zmeya — клетки змейки от головы к хвосту, список или deque; менять её нельзя

  • napravlenie — куда ползёт, пара: (0, 1) — вправо, (-1, 0) — вверх

  • eda — клетка с едой

Что вернуть

Пару (новая змейка типа deque, съела ли): голова — шаг вперёд, хвост убран; на еде хвост остаётся и ответ True.

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

В игре

Игра зовёт polzti на каждом такте — раз в 150 миллисекунд. Решите шаг — и змейка поползёт по полю и начнёт расти от еды.

Без этого шага: змейка стоит на месте.

Пример

Змейка [(7, 4), (7, 3), (7, 2)] ползёт вправо: новая голова (7, 5), хвост (7, 2) убран — (deque([(7, 5), (7, 4), (7, 3)]), False). Будь еда в (7, 5), хвост остался бы, и змейка стала бы из четырёх клеток.

Тот же пример кодом
Вызов
polzti([(7, 4), (7, 3), (7, 2)], (0, 1), (0, 0))
Вернуть
(deque([(7, 5), (7, 4), (7, 3)]), False)

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

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

Обсуждение

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

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