더북(TheBook)

9.2.3 메서드에서 만든 공격 명령 코드를 실행했을 때 동일한 결과가 나오는지 확인해 보겠습니다.

flamethrower1 = AttackUnit("화염방사병", 50, 16)
flamethrower1.attack("5시") # 5시 방향으로 공격 명령

# 25만큼의 공격을 2번 받음
flamethrower1.damaged(25) # 남은 체력 25
flamethrower1.damaged(25) # 남은 체력 0

실행결과 icon_con

화염방사병 : 5시 방향 적군을 공격합니다. [공격력 16]
화염방사병 : 25만큼 피해를 입었습니다.
화염방사병 : 현재 체력은 25입니다.
화염방사병 : 25만큼 피해를 입었습니다.
화염방사병 : 현재 체력은 0입니다.
화염방사병 : 파괴됐습니다.

실행결과는 이전과 같습니다. Unit 클래스가 간소화됐고, AttackUnit 클래스는 Unit 클래스를 상속하도록 변경됐습니다. 하지만 AttackUnit 클래스는 부모 클래스로부터 상속받은 hp, name 인스턴스 변수를 그대로 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.