Найти в Дзене
SoftSAR

Pygame создаем игру на Python

Pygame одна из популярных библиотек для разработки на Python: библиотека включает в себя удобные инструменты для рисования, работы с изображениями, видео, спрайтами, шрифтами и звуком, обработки событий клавиатуры и мыши. Главные преимущества Pygame легкость обучения и скорость разработки. В данной статье мы рассмотрим создание игры тетрис. Игровое поле представляет собой прямоугольный, в который сверху падают фигуры – стилизованные буквы L, S, Z, J, O, I и T. Каждая буква состоит из 4 блоков. Управление блоками осуществляется клавишами влево вправо, вниз, Enter, а также поворачивание блока на 90 градусов. После удаления 10 заполненных рядов происходит переход на следующий уровень, и падение фигур ускоряется. Первым шагом импортируем необходимые модули для написания игры. Затем определяем базовые параметры– кадровую частоту fps, высоту и ширину окна программы, размер элемента фигуры, параметры игрового поля и др. К размеру базового элемента block привязываются остальные параметр

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

Игровое поле представляет собой прямоугольный, в который сверху падают фигуры – стилизованные буквы L, S, Z, J, O, I и T.

-2

Каждая буква состоит из 4 блоков. Управление блоками осуществляется клавишами влево вправо, вниз, Enter, а также поворачивание блока на 90 градусов. После удаления 10 заполненных рядов происходит переход на следующий уровень, и падение фигур ускоряется.

Первым шагом импортируем необходимые модули для написания игры.

Затем определяем базовые параметры– кадровую частоту fps, высоту и ширину окна программы, размер элемента фигуры, параметры игрового поля и др.

К размеру базового элемента block привязываются остальные параметры игрового поля: ширина и высота игрового поля, к примеру, равны 10 и 20 блоков. Параметры side_freq и down_freq задают время, которое затрачивается на перемещение фигуры. Для размещения игрового поля и информационных надписей, а также для конвертации координат нам потребуются константы side_margin и top_margin. Для уменьшения нагрузки на процессор задаем параметр fps, который устанавливает кадровую частоту.

Функция main() отвечает за создание нескольких дополнительных глобальных констант, инициализирует модуль Pygame, рисует стартовое окно игры, вызывает запуск игры.

Основной код игры располагается в функции runTetris(). При запуске вызывается функция рисования игрового поля, а движение влево, вправо и вниз устанавливаются на False, значения будут изменены на True во время обработки события нажатия клавиатуры. Циклом for обрабатывает нажатие и отпускание клавиши со стрелками. Если клавиши не нажаты, значения соответствующих переменных меняются на False. При нажатии клавиши со стрелками позиция фигуры изменяется на один блок в соответствующем направлении.

Функция addToCup отвечает за добавления новых фигур.

За обнаружение и удаление заполненных рядов отвечает функция clearCompleted().

Каждая фигура состоит из 4 элементов блоков. Блоки рисуются функцией drawBlock().

Полный код игры.

В данной статье, мы рассмотрели основы работы с библиотекой Pygame, на примере создания простой игры тетрис

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am