파이썬 Class
- class를 활용하여 게임 캐릭터를 생성하고, 관련 스킬과 체력 구조를 만들어보자
class Fighter(object):
def __init__(self, name, martial_arts, punch_damage, kick_damage):
self.name = name
self.martial_arts = martial_arts
self.hp = 100
self.punch_damage = punch_damage
self.kick_damage = kick_damage
def punch(self,other):
if self.hp > 0:
other.hp = other.hp - self.punch_damage
print(f"HIT!!! {self.name} -> {other.name} - {self.punch_damage}")
else:
print(f"{self.name} is already dead")
def kick(self, other):
if self.hp > 0:
other.hp = other.hp - self.kick_damage
print(f"HIT!!! {self.name} -> {other.name} - {self.kick_damage}")
else:
print(f"{self.name} is already dead")
def get_info(self):
alive = 'alive' if self.hp > 0 else 'dead'
info = f'''
name: {self.name}
martial arts: {self.martial_arts}
HP : {self.hp}
State: {alive}
Attacking points
Punch: {self.punch_damage}
Kick: {self.kick_damage}
'''
print(info)
player1 = Fighter(name='Hwarang', martial_arts='Taegwando', punch_damage = 20, kick_damage = 50)
player2 = Fighter(name='Steve', martial_arts='Boxing', punch_damage = 40, kick_damage = 30)
player1.punch(player2)
player1.kick(player2)
player1.kick(player2)
player2.punch(player1)
=> HIT!!! Hwarang -> Steve - 20
=> HIT!!! Hwarang -> Steve - 50
=> HIT!!! Hwarang -> Steve - 50
=> Steve is already dead