➎ 마지막으로 인스턴스 변수인 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 ---------- ➎ 시지 모드 해제