더북(TheBook)

마지막으로 인스턴스 변수인 siege_mode의 값을 True 또는 False로 변경해 시지 모드 설정 또는 해제 상태를 저장합니다.

# 탱크 유닛
class Tank(AttackUnit):
    # 시지 모드: 탱크를 지상에 고정, 이동 불가, 공격력 증가
    siege_developed = False # 시지 모드 개발 여부

    def __init__(self):
        AttackUnit.__init__(self, "탱크", 150, 35, 1) # 이름, 체력, 공격력, 이동 속도
        self.siege_mode = False # 시지 모드(해제 상태)

    # 시지 모드 설정
    def set_siege_mode(self):
        if Tank.siege_developed == False: ---- ➊ 시지 모드가 개발되지 않았으면 바로 반환
            return
        # 현재 일반 모드일 때
        if self.siege_mode == False: --------- ➋ 시지 모드 여부 확인
            print("{0} : 시지 모드로 전환합니다.".format(self.name)) ---- ➌ 시지 모드 전환
            self.damage *= 2 ----------------- ➌ 공격력 2배 증가
            self.siege_mode = True ----------- ➎ 시지 모드 설정
        # 현재 시지 모드일 때
        else:
            print("{0} : 시지 모드를 해제합니다.".format(self.name)) ---- ➍ 일반 모드 전환
            self.damage //= 2 ---------------- ➍ 공격력 절반으로 감소
            self.siege_mode = False ---------- ➎ 시지 모드 해제
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.