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