완전한
Wumpus 시즌은 많은 악의 Wumpus와 용감한 Hunter의 삶을 끝냈습니다. 비겁하고 부도덕하고 멍청한 사냥꾼들도 있습니다. 그러나 마지막 날, Heckle 박사의 NascarHunter는 가장 전리품과 영광을 잃었습니다. 우리는 당신에게 경의를 표합니다.
Wumpuses에서 열린 시즌이며 전 세계의 사냥꾼들이 Wumpus Caves에 몰려 들어 소중한 Wumpus Pelts를 풍부하게 얻습니다.
게임
몇 가지 변형과 함께 고전적인 Hunt the Wumpus 게임을 기반으로합니다 .
지도
십이 면체 . 20 개의 방이 있으며 각각 3 개의 다른 방과 연결되어 있으며 기본적으로 다리가있는 3 개의 고리가 있습니다.
범퍼 스
Wumpus는 신비한 짐승입니다. 어떤 모습인지는 확신 할 수 없지만 모두 사나운 것에 동의합니다. Wumpus는 동굴에 살며 죽은 것을 좋아합니다. Wumpus 옆의 동굴에 시체가 있다면 그곳으로 가서 먹을 것입니다. Wumpus가 사냥꾼이있는 동굴로 이동하면 죽일 수도 있습니다. Wumpus가 그 근처에 화살표를 들으면 당황하고 무작위 방으로 뛰어들 것입니다.
선택적인 특성 : 이것들은 현재 게임을 더욱 흥미롭게 만들기 위해 포함되어 있지만 너무 많은 무작위성을 추가하면 대중의 요청에 따라 제거 될 수 있습니다.
격노 한 Wumpus : Wumpus가 총에 맞으면 3 일 동안 생존 및 상승의 20 %를 차지합니다. 급증 할 때, 그는 하루에 두 번 무작위로 움직일 것이지만 여전히 시체에 끌립니다. 3 일 후에 그는 죽을 것이다. 두 번째 화살은 또한 Wumpus를 죽일 것입니다.
방황하는 Wumpus : 매일 Wumpus를 유발하는 다른 것이 없다면 25 %의 확률로 움직입니다.
사냥꾼
한 번에 네 명의 사냥꾼이 동굴에 들어갈 수 있습니다. 동굴은 어둡기 때문에 사냥꾼은 볼 수 없지만 다른 감각을 사용할 수 있습니다. 사냥꾼은 인접한 방에서 Wumpus 냄새를 맡고, 인접한 방에서 시체 냄새를 맡고, 다른 방에서 움직이는 다른 사냥꾼의 소리를 듣고, 화살이 인접한 방으로 들어 갔는지들을 수 있습니다.
사냥꾼은 두 가지 행동이 있습니다 : 사격 또는 이동. 사냥꾼은 인접한 방이나 자신의 방으로 화살을 쏘아서 비슷하게 움직일 수 있습니다.
게임 플레이
각 라운드에서 사냥꾼은 먼저 주변 환경을 기록한 다음 한 번 움직입니다. 화살보다 움직임이 일어나므로 사냥꾼이 나가는 방으로 화살을 쏘면 사냥꾼은 살아남을 것입니다. 모든 헌터 이동이 완료되면 화살표가 평가됩니다. 한 명의 탑승자와 화살이 같은 방에 있으면 탑승자가 총에 맞고 사망합니다. 두 명 이상의 탑승자가 방을 공유하는 경우, 한 명은 무작위로 명중되어 사망합니다. 참고 : 시체는 점유자이므로 시체는 부분 보호막 역할을 할 수 있습니다.
모든 사냥꾼이 이동하면 Wumpus가 응답합니다. 사냥꾼이 Wumpus와 함께 방으로 이사하면 Wumpus는 그를 먹을 것입니다. Wumpus가 움직이면 새 방의 탑승자를 먹습니다.
100 일이 지나도 사냥꾼이 Wumpus를 죽이지 않았거나 희생자를 쓰지 않으면 동굴 내에서 기아로 죽게됩니다.
코드
모든 소스 코드는 여기 에서 찾을 수 있습니다 . 누군가 stdIn / stdOut 어댑터를 작성하지 않으려면 모든 제출물은 Java로 작성해야합니다.)
봇은 헌터 클래스를 확장해야합니다. Hunter의 이름을 지정하려면 이름 필드를 설정하는 매개 변수가없는 생성자를 추가하십시오. 응답, getResponse 함수를 대체하십시오. 이 기능에서는 매 턴마다 5 개의 부울 배열이 전달되어 주변에 대해 알려줍니다.
status 0 = "당신은 부랑자 냄새가 난다"
상태 1 = "다른 사냥꾼의 소리가 들립니다"
상태 2 = "당신은 시체 냄새"
status 3 = "화살표 소리가 들립니다."
상태 4 = "당신은 같은 방에 다른 사냥꾼을 느낀다"
Hunter 클래스에는 2 개의 슬롯이 있습니다 : nextMove 및 nextDirection은 각각 열거 형 Move 및 Direction을 사용합니다. 이동은 MOVE 또는 SHOOT 일 수 있으며, 방향은 LEFT, RIGHT, BACK 또는 HERE 일 수 있습니다. 길 찾기는 일관성이 있습니다. 즉, 뒤로 돌아 가면 항상 이전 방으로 돌아갑니다. 같은 방에서 들어 오면 왼쪽과 오른쪽이 항상 동일합니다. 그러나 다른 방향으로 들어가면 왼쪽과 오른쪽이 다른 곳으로 이동합니다.
자신 만의 메소드도 자유롭게 구현하십시오. 토너먼트 전체에서 기억력이 지속되므로 사냥꾼은 한 번만 구성됩니다. 그러나 각 라운드가 시작될 때 사냥꾼에게 새로운 게임이 시작되었음을 알리기 위해 newGame () 메서드가 호출됩니다.
채점
한 번에 네 명의 사냥꾼이 경쟁합니다. Wumpus 펠트를 죽이면 60 포인트의 가치가 있으며 살아남은 모든 사냥꾼들에게 균등하게 분할됩니다. 풀 라운드 로빈 스타일이므로 4 명의 헌터 조합이 함께 플레이합니다.
5 개의 샘플 헌터가 포함되어 있습니다. 4 개의 매우 기본적인 기능과 테스트 목적으로 사용자 입력을 할 수있는 것.
제안 / 요청이 있으시면 알려주세요!
끝이 보인다!
세계 Wumpus 인구는 놀라운 속도로 사냥되고 있습니다. 우리의 충돌 방지법은 6 월 17 일 수요일에 통과 될 것으로 예상됩니다. 이 날짜 이후에는 더 이상 사냥꾼이 동굴에 들어갈 수 없으며 승자가 선택됩니다.
스코어 보드
참고 : 사과합니다. 코드에 버그가있어 헌터가 여러 게임을 통해 죽어있을 수 있습니다. 그것을 고치면 전체 순위는 크게 변경되지 않지만 통계는 크게 변경됩니다.
점수는 1000 게임에서 각 사냥꾼 세트를 실행합니다. NascarHunter와 FullCoverageHunter가 주도권을 잡고 있으며, AntiHunter를 추가하면 Wumpuses의 생존력이 2 % 증가했지만 여전히 32 %의 생존율로 빨려 들어갔습니다. 동료 사냥꾼의 화살은 그 어느 때보 다 동굴에서 가장 큰 위협입니다.
1. NascarHunter : 16557175 (17.08)
2. FullCoverageHunter : 15195545 (15.68)
3. Trig : 14459385 (14.92)
4. Idomeneus : 13428570 (13.85)
5. Eats Shoots and Leaves : 12763945 (13.17)
6. WalkingIdiot : 12329610 (12.72)
7. NealHunter : 12287140 (12.68)
8. Unnamed : 11013720 (11.36)
9. MonsterHunter : 10686035 (11.02)
10. Pacer : 9187000 (9.48)
11. Badger : 9042570 (9.33)
12. Stay : 8721210 (9.0)
13. Emo Wumpus : 7831050 (8.08)
14. Paranoid : 7722965 (7.97)
15. Huddle : 7465420 (7.7)
16. ElmerFudd : 7245995 (7.47)
17. Laomedon : 6963845 (7.18)
18. Pacifist : 6944960 (7.16)
19. ScaredyCat : 6937370 (7.15)
20. Wumpus : 114170 (0.11)
Total rounds: 4845000
Humans killed by arrows: 5289674 (1.09)
Humans dead by starvation: 1046024 (0.21)
Humans killed by wumpus: 1887634 (0.38)
Wumpus victories: 1563372 (0.32)
int
값이 0-31을 전달하지 않는 이유는 무엇입니까? 우리는 여기에 큰 소년입니다, 우리는 비트 연산을 할 수 있습니다 :)