Синергия Онлайн-школа
программирование3 мин чтения

Первая игра на PyGame: окно, движение и столкновения

Редакция Школьного Университета «Синергия»

Редакционный материал об обучении детей и подростков

Первая игра на PyGame может состоять из окна, управляемого прямоугольника и цели. Для неё достаточно базового Python: переменных, условий, цикла и функций. Сначала создайте один работающий сценарий, затем добавляйте изображения и звук. Ниже приведён учебный проект без внешних графических файлов.

Подготовка среды

Установите подходящую версию Python и PyGame по официальным инструкциям. Обычно пакет устанавливают командой python -m pip install pygame в используемой среде. В некоторых системах команда Python называется python3. Не путайте установку пакета в одном интерпретаторе и запуск файла другим.

Скачайте исходный файл учебной игры. Сохраните его и запустите своей командой Python. Откроется окно: стрелки перемещают синий квадрат, а касание оранжевой цели увеличивает счёт. После попадания цель меняет положение. Файл не требует сетевого доступа и не собирает данные.

Как устроен игровой цикл

ЭтапЧто делает программа
СобытияОбрабатывает закрытие окна
ВводЧитает удерживаемые клавиши
ОбновлениеМеняет координаты с учётом времени кадра
ПроверкаСравнивает прямоугольники игрока и цели
РисованиеОчищает экран и рисует новое состояние
ВыводПоказывает кадр и ограничивает частоту обновления

Не убирайте обработку событий: окно должно отвечать на закрытие и действия системы. Экран нужно перерисовывать, иначе старые изображения могут оставаться видимыми поверх новых.

Движение без зависимости от числа кадров

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

Координаты хранятся отдельно как числа с дробной частью, а прямоугольник используется для отрисовки и столкновений. После движения положение ограничивается границами окна. Проверьте четыре края: игрок не должен исчезать за пределами сцены.

Столкновение и счёт

Для простых прямоугольных объектов подходит проверка colliderect. Если произошло пересечение, счёт увеличивается и цель перемещается. Новую позицию выбирают так, чтобы она не пересекалась с игроком: иначе одно событие может быстро повториться.

Это проверка ограничивающих прямоугольников, а не точных непрозрачных пикселей изображения. Для более сложной графики позже изучают другие способы. Не усложняйте первую игру, пока не понятен простой случай.

Самопроверка и следующий шаг

Запустите проект заново и убедитесь, что счёт сбросился. Проверьте все стрелки, края окна, попадание и закрытие. Затем измените только скорость или размер цели и предскажите эффект. Следующий проект может добавить препятствие, но сначала сохраните рабочую версию.

В EasyCode «Создатель миров» для 10–17 лет можно уточнить направление Python и PyGame. Покажите собственный файл и объясните, какой шаг пока непонятен: установка, цикл, координаты или столкновение. Это поможет подобрать стартовый уровень обучения.

Продолжить разбор: Программирование для детей: с чего начать по возрасту.

Источники и материалы: PyGame: официальная документация и первый пример.

Посмотреть программу и условия обучения

Программа и условия обучения

читайте также

программирование

Алгоритм для детей: команды, условия и повторения

Алгоритм для ребёнка: команды, условия и повторения на понятных примерах. Пять заданий сначала без компьютера, затем в Scratch.

программирование

Циклы в Scratch: виды, примеры и мини-игра

Циклы в Scratch: как убрать повторяющиеся блоки и сделать мини-игру. Мини-проект с двумя видами циклов. Практический разбор для семьи и школьника.

программирование

Переменные в Scratch: счёт, жизни и таймер

Переменные в Scratch: счёт, жизни и таймер в одной игре. Проект с понятной проверкой каждого значения. Практический разбор для семьи и школьника.

← все материалы блога