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

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

Где еда

Съеденная еда появляется снова — в случайной клетке, но не на змейке. А когда змейка заняла всё поле, еде места нет: это победа.

Что сделать

Выберите клетку для новой еды — случайную, но не на змейке.

Что приходит

  • zmeya — клетки змейки

  • vysota и shirina — размер поля

  • sluchay — генератор случайностей, как random.Random

Что вернуть

Клетку — sluchay.choice из свободных, перечисленных по строкам сверху вниз, в строке слева направо; свободных нет — None.

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

В игре

Игра зовёт mesto_edy в начале партии и каждый раз, когда змейка съела еду. None значит, что поле заполнено, — это победа. Решите шаг — и еда будет появляться где угодно, а не только в углах.

Без этого шага: еда появляется только в углах.

Пример

Поле 2 строки на 3 столбца, змейка занимает (0, 0) и (0, 1). Свободны четыре клетки, по порядку: (0, 2), (1, 0), (1, 1), (1, 2). Генератор с затравкой 5 выбирает из этого списка (1, 1) — её функция и возвращает.

Тот же пример кодом
Перед вызовом
import random
Вызов
mesto_edy([(0, 0), (0, 1)], 2, 3, random.Random(5))
Вернуть
(1, 1)

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

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

Обсуждение

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

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