KOMPLETNY
Sezon Wumpus zakończył się, a wraz z nim życie wielu okrutnych Wumpusów i odważnego Łowcy. Jak również niektórzy tchórzliwi, niemoralni i wręcz głupi Łowcy. Ale pod koniec dnia NascarHunter autorstwa dr Heckle'a przyniósł najwięcej łupów i chwały. Pozdrawiamy cię, och, dzielny ... kierowco?
W Wumpusach jest otwarty sezon, a łowcy z całego świata gromadzą się w Jaskiniach Wumpus, aby spróbować wzbogacić się o cenne Pelty Wumpusa.
Gra
Oparty na klasycznej grze Hunt the Wumpus , z kilkoma odmianami.
Mapa
Dwunastościan . Istnieje 20 pokoi, każde połączone z 3 innymi pokojami, tworząc w zasadzie 3 pierścienie z mostami pomiędzy nimi.
Wumpus
Wumpus to mistyczna bestia. Nikt nie jest pewien, jak to wygląda, ale wszyscy zgadzają się, że jest okrutny. Wumpus mieszka w jaskiniach i lubi jeść martwe rzeczy. Jeśli w jaskini obok Wumpusa znajduje się zwłoki, przeprowadzi się tam i je zje. Jeśli Wumpus zdoła przenieść się do jaskini zawierającej łowców, zabije je również. Jeśli Wumpus usłyszy strzałę w jego pobliżu, wpadnie w panikę i wpadnie do przypadkowego pokoju.
Cechy opcjonalne : Są one obecnie uwzględnione, aby gra była bardziej interesująca, ale można ją usunąć na popularne żądanie, jeśli dodają zbyt wiele losowości.
Wściekły Wumpus: Jeśli Wumpus zostanie postrzelony, ma 20% szans na przeżycie i szaleństwo przez 3 dni. Podczas szaleństwa będzie losowo poruszał się dwa razy dziennie, ale nadal będzie przyciągał zwłoki. Po 3 dniach umrze. Drugi strzał zabije Wumpusa.
Wędrujący Wumpus: Każdego dnia, jeśli nic więcej nie uruchamia Wumpusa, ma on 25% szansy na ruch.
Łowcy
Jednocześnie do jaskini może wejść czterech myśliwych. Jaskinie są ciemne, więc łowcy nie widzą, ale mogą użyć innych zmysłów. Łowcy mogą wąchać Wumpusa w sąsiednim pokoju, wąchać zwłoki w sąsiednim pokoju, słyszeć innych myśliwych poruszających się w sąsiednich pokojach i słyszeć, czy strzała trafi w sąsiedni pokój.
Łowcy mają dwie akcje: strzelaj lub poruszaj się. Łowca może wystrzelić strzałę do sąsiedniego pokoju lub własnego pokoju i poruszać się podobnie.
Rozgrywka
W każdej rundzie łowcy najpierw zauważą otoczenie, a następnie wykonają jeden ruch. Ruch następuje przed strzałami, więc jeśli strzała zostanie wystrzelona do pokoju, z którego wyprowadza się myśliwy, myśliwy przeżyje. Po wykonaniu wszystkich ruchów łowcy strzały są oceniane. Jeśli pojedynczy mieszkaniec i strzała znajdują się w tym samym pomieszczeniu, zostanie on zastrzelony i umrze. Jeśli dwóch lub więcej osób dzieli pokój, jeden zostanie losowo trafiony i umrze. Uwaga: Zwłoki są mieszkańcami, więc martwe ciało może służyć jako częściowa tarcza.
Po wszystkich ruchach łowcy Wumpus zareaguje. Jeśli myśliwy wprowadził się do pokoju z Wumpusem, Wumpus go zje. Jeśli Wumpus się poruszy, zje również mieszkańców nowego pokoju.
Po 100 dniach, jeśli myśliwi nie zabiją Wumpusa lub padną ofiarą, umrą z głodu w jaskiniach.
Kod
Cały kod źródłowy można znaleźć tutaj . Wszystkie zgłoszenia powinny być w Javie, chyba że ktoś chce mi napisać adapter stdIn / stdOut;)
Boty powinny rozszerzyć klasę Łowca. Aby nazwać Łowcę, dodaj konstruktor bez parametrów, które ustawiają pole nazwy. Aby odpowiedzieć, zastąp funkcję getResponse. W tej funkcji, w każdej turze, będziesz otrzymywać tablicę 5 booleanów, która mówi ci o twoim otoczeniu.
status 0 = „Pachniesz wumpusem”
status 1 = „Słyszysz innego łowcę”
status 2 = „Czujesz zwłoki”
status 3 = „Usłyszysz stukot strzałki”
status 4 = „Czujesz innego łowcę w tym samym pokoju co ty”
Klasa Hunter ma 2 miejsca: nextMove i nextDirection, które używają odpowiednio enums Move i Direction. Ruch może być MOVE lub SHOOT, kierunek może być LEWY, PRAWY, BACK lub TUTAJ. Kierunki są spójne, co oznacza, że powrót zawsze spowoduje powrót do poprzedniego pokoju, w którym byłeś, a jeśli wchodzisz z tego samego pokoju, LEWO i PRAWO zawsze będą takie same. Jeśli jednak wejdziesz z innego kierunku, LEWO i PRAWO zabiorą Cię w różne miejsca.
Zapraszam również do wdrożenia własnych metod. Pamięć jest trwała przez cały turniej, co oznacza, że twój łowca zostanie skonstruowany tylko raz. Jednak na początku każdej rundy wywoływana jest metoda newGame (), aby powiadomić myśliwego o rozpoczęciu nowej gry.
Punktacja
Jednocześnie rywalizuje czterech łowców. Jeśli zostanie zabity, skóra Wumpusa jest warta 60 punktów, równo podzielona pomiędzy wszystkich myśliwych, którzy przeżyli. W pełni okrągły styl robin, więc każda kombinacja 4 łowców będzie grać razem.
Uwzględniono 5 przykładowych Łowców: 4 z bardzo podstawową funkcjonalnością i jedną, która pozwala na wkład użytkownika do gry, do celów testowych.
Jeśli masz jakieś sugestie / prośby, daj mi znać!
Koniec jest w zasięgu wzroku!
Światowa populacja Wumpus jest ścigana w alarmującym tempie. Ustawa o ochronie naszych wumpusów ma zostać uchwalona w środę, 17 czerwca. Po tej dacie nie będzie więcej łowców w jaskiniach, a zwycięzca zostanie wybrany.
Tablica wyników
Uwaga : przepraszam, w kodzie był błąd, który mógł powodować, że Łowcy nie żyli w wielu grach. Po naprawieniu nie zmienia to bardzo ogólnie ogólnych rankingów, ale w dużej mierze zmienia statystyki.
Dostępne są wyniki, uruchamiając każdy zestaw myśliwego w 1000 grach. NascarHunter i FullCoverageHunter przewodzą paczce i chociaż dodatek AntiHunter zapewnił Wumpusom 2% doładowania, nadal trzęsą się z nóg przy 32% współczynniku przeżycia tego rodzaju. Strzały od innych myśliwych są bardziej niż kiedykolwiek największym zagrożeniem w jaskiniach.
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
wartości 0-31? Jesteśmy tu dużymi chłopcami, możemy wykonywać operacje bitowe :)