diff --git a/src/entity.py b/src/entity.py index dd63b74..7eb9512 100644 --- a/src/entity.py +++ b/src/entity.py @@ -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.""" diff --git a/src/entity_manager.py b/src/entity_manager.py index 862e05e..46a17a3 100644 --- a/src/entity_manager.py +++ b/src/entity_manager.py @@ -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."""