Ajout d'un système de dégâts

This commit is contained in:
Yannis 2023-12-26 14:55:14 +01:00
parent ee94335f35
commit 3f51ab18f5
2 changed files with 18 additions and 1 deletions

View file

@ -10,6 +10,9 @@ class Entity:
self.x = 8
self.y = 8
self.life_points = -1
self.max_life_points = -1
self.collision_rect = [0, 0, 0, 0] # x1, y1, x2, y2
# Time utilisé pour les IA
@ -25,6 +28,17 @@ class Entity:
self.time += delta
def get_damages(self, damages: int):
"""Inflige {damages} dégâts à l'entité."""
# Si life_points est égal à -1, l'entité est immortelle
if self.life_points != -1:
# On inflige les dégâts
self.life_points -= damages
# Si la vie passe en négatif, on la remet à 0
if self.life_points < 0:
self.life_points = 0
def get_collisions(self, x: float, y: float, map_manager: MapManager):
"""Calcule les collisions."""

View file

@ -14,8 +14,11 @@ class EntityManager:
def update(self, delta: float):
"""Met à jour toutes les entités enregistrées."""
for entity in self.entities.values():
for entity_name in list(self.entities.keys()):
entity = self.entities[entity_name]
entity.update(delta)
if entity.life_points == 0:
self.entities.pop(entity_name)
def get_all_entities(self):
"""Donne la liste de toutes les entités enregistrées."""