6

Если вас бесит Pygame

Возможно, вас, как и меня, дико раздражает та реализация обработки событий в Pygame, которая приводится, как пример, во всех возможных учебниках. А именно: в игровом цикле вложенный цикл перебирает очередь, и, в лучшем случае, вызывает методы объектов, но, обычно, еще и расчёты игровой механики идут там же. Отчего программа выглядит как месиво примеров из документации и костылей, перемотанное изолентой (не синей).

Моё решение

Создаём класс (в том числе, для всех настроек и глобальных действий игры)

Если вас бесит Pygame Программирование, Python, Pygame, Питон, Компьютерные игры

Метод events сохраняет копию очереди событий, и отдаёт её по запросу, обновляя, при необходимости. Метод isRun предназначен для реакции на закрытие окна. Для общего случая он не нужен.

В целом, программы теперь можно писать так:

Если вас бесит Pygame Программирование, Python, Pygame, Питон, Компьютерные игры

Таким образом, реакции на события обрабатываются внутри объектов, как и положено в нормальном мире.

Успешных разработок!