Implementation de la base de l'engine #3
|
@ -10,6 +10,9 @@ class Entity:
|
||||||
self.x = 8
|
self.x = 8
|
||||||
self.y = 8
|
self.y = 8
|
||||||
|
|
||||||
|
self.life_points = -1
|
||||||
|
self.max_life_points = -1
|
||||||
|
|
||||||
self.collision_rect = [0, 0, 0, 0] # x1, y1, x2, y2
|
self.collision_rect = [0, 0, 0, 0] # x1, y1, x2, y2
|
||||||
|
|
||||||
# Time utilisé pour les IA
|
# Time utilisé pour les IA
|
||||||
|
@ -25,6 +28,17 @@ class Entity:
|
||||||
|
|
||||||
self.time += delta
|
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):
|
def get_collisions(self, x: float, y: float, map_manager: MapManager):
|
||||||
"""Calcule les collisions."""
|
"""Calcule les collisions."""
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,11 @@ class EntityManager:
|
||||||
|
|
||||||
def update(self, delta: float):
|
def update(self, delta: float):
|
||||||
"""Met à jour toutes les entités enregistrées."""
|
"""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)
|
entity.update(delta)
|
||||||
|
if entity.life_points == 0:
|
||||||
|
self.entities.pop(entity_name)
|
||||||
|
|
||||||
def get_all_entities(self):
|
def get_all_entities(self):
|
||||||
"""Donne la liste de toutes les entités enregistrées."""
|
"""Donne la liste de toutes les entités enregistrées."""
|
||||||
|
|
Loading…
Reference in a new issue