Skip to main content

Зіткнення гравця з противниками та бонусами

Продовжуємо писати нашу гру.

Зіткнення гравця з противниками та бонусами

Одна з багатьох важливих тем у розробці ігор – це виявлення сутичок. В основі алгоритмів обробки зіткнень лежить клас Rect. Примірниками цього класу є прямокутні області. Вони не мають графічного подання у вікні гри, але мають методи для виявлення зіткнень: якщо два або більше прямокутних об'єктів перетинаються один з одним або перебувають у контакті, це і є зіткнення. Будемо використовувати метод colliderect(Rect) - перевірка перетину двох прямокутників.

При зіткненні з ворогом ми будемо закінчувати гру. Добавимо наступну перевірку в цикл обробки ворогів.

if player_rect.colliderect(enemy[1]):

playing = False

При зіткненні з бонусом ми поки будемо лише видаляти бонус. Добавимо наступну перевірку в цикл обробки бонусів.

if player_rect.colliderect(bonus[1]):

bonuses.pop(bonuses.index(bonus))