자바로 게임 만들기
[자바로 게임 만들기] 38. 슬라임이 죽었을 때
릿드
2019. 2. 11. 14:18
안녕하세요.
이번 시간에는 슬라임이 죽었을때를 코딩해보겠습니다.
어느 클래스에다가 코딩해야될까요? 스터디01 클래스?(앞으로는 메인 클래스라고 하겠습니다) 슬라임 클래스? 휴먼 클래스?
정답은 휴먼 클래스입니다. 슬라임을 공격하는 코드가 있기 때문이죠.
아래처럼 하면 되겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // Human.java package study; class Human { String name; int hp = 100; public Human(String n) { name = n; } public void attack(Slime s) { System.out.println("인간은 " + s.name + "를 공격했다"); s.hp = s.hp - 10; if (s.hp < 1) { System.out.println(s.name + "는 사망했다\n"); } else { System.out.println("현재 " + s.name + "의 체력은 " + s.hp + "이다\n"); } } } | cs |
슬라임의 체력을 깎는 코드 다음에 위치하는게 적절해보입니다.
체력이 1보다 작으면 사망했다고 출력하고 그렇지 않으면 현재 슬라임의 체력을 출력합니다.
자, 실행해봅시다.
사망했다...까지는 잘 되는데 어라라?! 죽은 슬라삐가 알렉스를 공격하는군요. 좀비모드?!
메인함수에 있는 s.attack(h); 가 실행돼서 나타나는 현상입니다.
이래서는 안되겠죠. 다음 시간에는 요 버그를 잡아보도록 하겠습니다. (다음 강의를 보시기 전에 스스로 해결하면 더 좋겠죠^^)
감사합니다.