Ant.py 1.0KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from intelligine.synergy.object.Bug import Bug
  2. from synergine.metas import metas
  3. from intelligine.cst import CARRYING, TRANSPORTER, ATTACKER
  4. class Ant(Bug):
  5. def __init__(self):
  6. super().__init__()
  7. metas.states.add_list(self.get_id(), [TRANSPORTER, ATTACKER])
  8. self._carried = []
  9. def put_carry(self, obj):
  10. self._carried.remove(obj)
  11. obj.set_position(self.get_position())
  12. metas.states.remove(self.get_id(), CARRYING)
  13. def get_carried(self):
  14. # TODO: cas ou plusieurs ?
  15. return self._carried[0]
  16. def carry(self, obj):
  17. self._carried.append(obj)
  18. metas.states.add(self.get_id(), CARRYING)
  19. def is_carrying(self):
  20. if len(self._carried):
  21. return True
  22. return False
  23. # TODO: Est-ce ici que doit etre ce code ?
  24. def set_position(self, position):
  25. super().set_position(position)
  26. if self.is_carrying():
  27. for obj_carried in self._carried:
  28. obj_carried.set_position(position)