더북(TheBook)

마지막으로 전투기를 위한 Stealth 클래스를 만들겠습니다.

전투기는 공중 공격 유닛이므로 FlyableAttackUnit 클래스를 상속받습니다.

전투기는 은폐라는 특수 기술이 있어서 사용하면 상대방이 볼 수 없습니다. 은폐 기술은 편의상 업그레이드가 완료됐다고 가정하겠습니다. 부모 클래스인 FlyableAttackUnit 클래스의 생성자로 기본 정보를 설정합니다.

은폐 여부를 확인하기 위해 cloaked 인스턴스 변수를 추가로 정의합니다.

은폐 모드를 설정하기 위한 cloaking() 메서드를 정의합니다. 탱크의 시지 모드와 비슷하게 은폐 모드 여부에 따라서 설정(True)과 해제(False)를 하도록 if-else 문으로 작성합니다.

은폐 모드 설정 여부를 True 또는 Falsecloaked 인스턴스 변수에 저장합니다. 확인을 위한 문구도 함께 출력합니다.

# 전투기 유닛
class Stealth(FlyableAttackUnit):---- ➊ 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------ ➎ 은폐 모드 설정
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.