Глава 19 · Проект: «Змейка»

Настраиваем экран Turtle

Отключаем автообновление экрана и заводим переменные, которые будут помнить состояние игры.

Настраиваем экран Turtle

Игре нужен предсказуемый, контролируемый экран — и, что важно, отключённое автообновление: обновлять картинку мы будем вручную, ровно раз за игровой шаг, а не при каждом мелком движении:

nastrojka_ekrana.py
screen = turtle.Screen()
screen.title("Змейка")
screen.bgcolor("black")
screen.setup(width=600, height=600)
screen.tracer(0)   # отключаем автообновление
Зачем tracer(0)?
Без tracer(0) Turtle перерисовывает экран после каждого отдельного движения — для игры, где нужно двигать голову и несколько сегментов тела на каждом шаге, это выглядело бы мерцающим и медленным. tracer(0) + ручной screen.update() в конце каждого шага дают куда более плавную анимацию.

Создаём и инициализируем необходимые переменные

peremennye.py
RAZMER_SHAGA = 20
GRANICA = 280

napravlenie = "stop"
schet = 0
igra_okonchena = False
segmenty = []   # тело змейки
ЗАГЛАВНЫЕ_БУКВЫ — соглашение для констант
RAZMER_SHAGA и GRANICA не меняются в процессе игры — по соглашению такие «постоянные» переменные принято называть заглавными буквами. Само по себе это ничего не меняет технически, но сигнализирует читателю: «это значение не должно меняться».
Реальное окно: чёрный игровой экран 600×600 с надписью «Счёт: 0» и одним красным яблоком
Реальное окно: экран настроен и переменные заведены. Яблоко и табло на снимке появятся в коде только в разделах 19.3 и 19.5 — здесь важен сам настроенный экран.
Практика: настройка экрана и переменных
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →