이 게임에서는 적군 위치를 1시 방향, 9시 방향 등으로 표현합니다. 그래서 공격 명령을 받아 적군을 공격하러 갈 때는 공격하러 갈 유닛의 이름과 공격 방향 정보, 공격력을 출력하겠습니다. 유닛의 이름과 공격력은 클래스의 생성자에 인스턴스 변수로 이미 정의돼 있으므로 self.으로 접근해 사용합니다. 공격 방향은 명령을 받을 때마다 달라질 수 있으므로 인스턴스 변수가 아닌 전달값을 그대로 사용합니다. 이때 self. 없이 사용한다는 점을 주의해야 합니다.
TIP | 코드를 작성할 때 문장이 너무 길어서 한 줄로 표현하기 어렵거나 보기 좋게 두 줄 이상으로 나눠 적으려면 나누려는 부분에 역슬래시(\)를 넣고 줄 바꿈을 합니다. 그러면 실행했을 때 한 문장으로 인식합니다.
class AttackUnit: # 공격 유닛
def __init__(self, name, hp, damage):
self.name = name
self.hp = hp
self.damage = damage
def attack(self, location): # 전달받은 방향으로 공격
print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \
.format(self.name, location, self.damage)) # 공간이 좁아서 2줄로 나눔