В ходе этого проекта я реализую популярную мобильную игру Okay! на PC. Для этого я использую библиотеку Pygame в среде разработки Visual Studio Code.
Мой код в итоге должен обладать следующими возможностями:
1. Запускать шарик при помощи клавиши мышки (ЛКМ);
2. Автоматически управлять внутреигровыми процессами;
3. Анимация движения шарика и эффектов столкновения;
4. Звуковое сопровождение столкновения;
5. Обсепечение правильных с точки зрения физики соударений.
Используемые классы:
- Player
Класс, представляющий игрока в игре.
Атрибуты :
• x: Позиция шарика по оси X.
• y: Позиция шарика по оси Y.
• speed: Скорость движения шарика.
Методы:
• init(self, x: float, y: float, angle: float): Конструктор класса, инициализирующий позицию игрока.
• move(self, dx: float, dy: float): Перемещает игрока на заданные значения dx и dy.
-
Item
Класс, представляющий collectible-объекты (предметы), в которые игрок должен попадать. Атрибуты:
• x: Позиция предмета по оси X. • y: Позиция предмета по оси Y.Методы:
• init(self, x, y): Конструктор класса, инициализирующий положение предмета. • draw(self, screen): Отрисовывает предмет на экране. -
Game
Класс, представляющий основную логику игры.
Атрибуты:
• screen: Экран игры. (Класс Pygame)
• clock: Часы для управления частотой кадров.
• font: Шрифт для отображения текста.
• player: Экземпляр класса Player
Методы:
• init(self): Конструктор класса, инициализирующий Pygame и создающий необходимые объекты.
• update(self): Обновляет состояние игры, обрабатывает ввод от игрока.
• run(self): Основной цикл игры, обрабатывающий события и обновляющий состояние игры.