Implementation de la base de l'engine #3

Merged
yannis merged 33 commits from Engine_base into main 2023-12-26 16:36:16 +00:00
2 changed files with 18 additions and 1 deletions
Showing only changes of commit 3f51ab18f5 - Show all commits

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."""