더북(TheBook)

 

12.6

전투 결과 표시하기

마지막으로 전투 결과를 구현해 보겠습니다. 주인공과 몬스터가 서로 공격하다가 둘 중에 먼저 체력이 0이 되는 쪽이 나오면 전투 결과가 나옵니다.

주인공의 체력이 0이 되면 게임 오버가 됩니다. 게임 오버는 quit() 메서드로 구현합니다. quit() 메서드에서는 주인공과 몬스터 객체를 null로 만들고, 상태 표시를 업데이트합니다. 연결된 이벤트는 removeEventListener() 메서드로 모두 제거한 후 초기 화면으로 돌아갑니다. 마지막으로 게임 객체를 null로 만들며 새 게임을 준비합니다.

몬스터의 체력이 0이 되면 주인공이 경험치를 얻습니다. 주인공의 경험치가 주인공 레벨 × 15보다 높으면 레벨 업을 하게 됩니다. 레벨 업을 하면 주인공은 체력을 모두 회복하고, 최대 체력과 공격력이 각각 5씩 증가합니다. 이 부분은 Hero 클래스에 getXp() 메서드로 구현합니다.

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