class Unit: def __init__(self, name, team, pos_x, pos_y, pv=100, weapon=None): self.id = uuid.uuid4 self.name = name self.pv = pv self.team = team self.pos = (pos_x, pos_y) self.is_alive = True self.weapon = weapon def __str__(self): return "<[Team {}] {} ({} pv)".format( self.team, self.name, self.pv ) def use_weapon(self, weapon): self.weapon = weapon def get_name(self): return self.name def attack(self, unit): unit.receive_damage(self.weapon) def get_position(self): return self.pos def receive_damage(self, weapon): self.pv -= weapon.get_damages() if self.pv < 1: self.is_alive = False