작성
·
267
0
답변 3
0
저도 오타 문제일까요? class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed print("{0} 유닛을 생성했습니다".format(name)) def move(self, location): print("{0}: {1} 방향으로 이동합니다. [속도 {2}]"\ .format(self.name, location, self.speed)) def damaged(self, damage): print("{0}:{1}만큼 피해를 입었습니다.".format(self.name, damage)) self.hp -= damage print("{0}: 현재 체력은 {1} 입니다.".format(self.name, self.hp)) if self.hp <= 0: print("{0}: 파괴됐습니다.".format(self.name)) class AttackUnit(Unit): def __init__(self, name, hp, damage, speed): Unit.__init__(self, name, hp, speed) self.damage = damage def attack(self, location): print("{0}: {1} 방향 적군을 공격합니다. [공격력 {2}]".format(self.name, location, self.damage)) class Soldier(AttackUnit): def __init__(self): AttackUnit.__init__(self, "보병", 40, 5, 1) def booster(self): if self.hp >10: self.hp -= 10 print("{0}: 강화제를 사용합니다. (HP 10 감소)".format(self.name)) else: print("{0}: 체력이 부족해 기술을 사용할 수 없습니다.".format(self.name)) class Tank(AttackUnit): siege_developed = False def __init__(self): AttackUnit.__init__(self, "탱크", 150, 35, 1) self.sige_mode = False def set_seige_mode(self): if Tank.siege_developed == False: return if self.siege_mode == False: print("{0} : 시지 모드로 전환합니다.".format(self.name)) self.damage *= 2 self.sige_mode = True else: print("{0}: 시지 모드를 해제합니다.".format(self.name)) self.damage //=2 self.siege_mode = False class Flyable: def __init__(self, flying_speed): self.flying_speed = flying_speed def fly(self, name, location): print("{0}: {1} 방향으로 날아갑니다. [속도 {2}]".format(name, location, self.flying_speed)) class FlyableAttackUnit(AttackUnit, Flyable): def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, damage, 0) Flyable.__init__(self, flying_speed) def move(self, location): self.fly(self.name, location) class Stealth(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self,"전투기", 80, 20,5) self.cloaked = False def cloaking(self): if self.cloaked == True: print("{0} : 은폐모드를 해제합니다.".format(self.name)) self.cloaked = False else: print("{0}: 은폐모드를 설절합니다.".format(self.name)) self.cloaked = True
0
1. 2번째 줄 오타 있습니다.
sieze_developed -> seize_developed
2.
0
레이스 : 1시 방향으로 날아갑니다. [속도 5]
[알림] 탱크 시즈 모드 개발 완료.
마린 : 스팀팩을 사용합니다. (HP 10 감소)
마린 : 스팀팩을 사용합니다. (HP 10 감소)
마린 : 스팀팩을 사용합니다. (HP 10 감소)
Traceback (most recent call last):
File "c:\Users\rlagu\Desktop\python\super.py", line 129, in <module>
unit.set_seize_mode()
File "c:\Users\rlagu\Desktop\python\super.py", line 50, in set_seize_mode
if Tank.seize.developed == False:
AttributeError: type object 'Tank' has no attribute 'seize'
PS C:\Users\rlagu\Desktop\python>