Первая игра на 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: счёт, жизни и таймер в одной игре. Проект с понятной проверкой каждого значения. Практический разбор для семьи и школьника.