Ant.py 911B

123456789101112131415161718192021222324252627282930
  1. from intelligine.synergy.object.Bug import Bug
  2. from synergine.metas import metas
  3. from intelligine.synergy.Simulation import Simulation
  4. from intelligine.cst import CARRYING, TRANSPORTER, ATTACKER
  5. class Ant(Bug):
  6. def __init__(self):
  7. super().__init__()
  8. metas.list.add(Simulation.STATE, self.get_id(), TRANSPORTER)
  9. metas.list.add(Simulation.STATE, self.get_id(), ATTACKER)
  10. self._carried = []
  11. def carry(self, obj):
  12. self._carried.append(obj)
  13. metas.list.add(Simulation.STATE, self.get_id(), CARRYING)
  14. def is_carrying(self):
  15. if len(self._carried):
  16. return True
  17. return False
  18. # TODO: Est-ce ici que doit etre ce code ?
  19. def set_position(self, position):
  20. super().set_position(position)
  21. if self.is_carrying():
  22. for obj_carried in self._carried:
  23. obj_carried.set_position(position)