Глава 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 не меняются в процессе игры — по соглашению такие «постоянные» переменные принято называть заглавными буквами. Само по себе это ничего не меняет технически, но сигнализирует читателю: «это значение не должно меняться».
Практика в Jupyter Notebook
19-02-ekran.ipynb · настройка экрана и переменных
Открыть ноутбук →