KOMPLETT
Die Wumpus-Saison ist zu Ende gegangen, und damit auch das Leben vieler bösartiger Wumpus- und tapferer Jäger. Sowie einige feige, unmoralische und geradezu dumme Jäger. Aber am Ende des Tages kam NascarHunter von Dr. Heckle mit der meisten Beute und Herrlichkeit davon. Wir grüßen dich, oh mutiger ... Fahrer?
Wumpus-Jäger aus der ganzen Welt strömen in die Wumpus-Höhlen, um reich an wertvollen Wumpus-Pelts zu werden.
Das Spiel
Basierend auf dem klassischen Spiel Hunt the Wumpus mit einigen Variationen.
Die Karte
Ein Dodekaeder . Es gibt 20 Räume, die jeweils mit 3 anderen Räumen verbunden sind und im Grunde 3 Ringe mit dazwischen liegenden Brücken bilden.
Der Wumpus
Der Wumpus ist ein mystisches Tier. Keiner ist sich sicher, wie es aussieht, aber alle sind sich einig, dass es grausam ist. Der Wumpus lebt in den Höhlen und isst gerne tote Dinge. Wenn sich in einer Höhle neben dem Wumpus eine Leiche befindet, wird er dorthin ziehen und sie essen. Wenn der Wumpus in eine Höhle mit Jägern zieht, wird er sie auch töten und essen. Wenn der Wumpus einen Pfeil in seiner Nähe hört, gerät er in Panik und rennt in einen zufälligen Raum.
Optionale Merkmale : Diese sind derzeit enthalten, um das Spiel interessanter zu machen. Sie können jedoch auf vielfachen Wunsch entfernt werden, wenn sie zu zufällig sind.
Wütender Wumpus: Wenn der Wumpus angeschossen wird, überlebt er zu 20% und tobt 3 Tage lang. Wenn er tobt, bewegt er sich zufällig zweimal am Tag, wird aber immer noch von Leichen angezogen. Nach 3 Tagen wird er sterben. Ein zweiter Pfeilschuss tötet auch den Wumpus.
Wandernder Wumpus: Jeden Tag, wenn nichts anderes den Wumpus auslöst, hat er eine Chance von 25%, sich zu bewegen.
Die Jäger
Vier Jäger können die Höhlen gleichzeitig betreten. Die Höhlen sind dunkel, so dass die Jäger nicht sehen können, aber sie können ihre anderen Sinne benutzen. Jäger können den Wumpus in einem angrenzenden Raum riechen, eine Leiche in einem angrenzenden Raum riechen, andere Jäger in angrenzenden Räumen bewegen hören und hören, ob ein Pfeil in einen angrenzenden Raum geschossen wird.
Jäger haben zwei Aktionen: Schießen oder Bewegen. Ein Jäger kann einen Pfeil in einen angrenzenden Raum oder in seinen eigenen Raum schießen und sich auf ähnliche Weise bewegen.
Gameplay
In jeder Runde nehmen die Jäger zuerst ihre Umgebung zur Kenntnis und machen dann einen Zug. Die Bewegung erfolgt vor den Pfeilen. Wenn also ein Pfeil in einen Raum geschossen wird, aus dem sich ein Jäger herausbewegt, überlebt der Jäger. Nachdem alle Jägerzüge ausgeführt wurden, werden die Pfeile ausgewertet. Wenn sich ein einzelner Insasse und ein Pfeil im selben Raum befinden, wird der Insasse erschossen und stirbt. Wenn sich zwei oder mehr Personen einen Raum teilen, wird einer zufällig getroffen und stirbt. Hinweis: Leichen sind Insassen, daher kann ein toter Körper als Teilschutz dienen.
Nachdem sich alle Jäger bewegt haben, reagiert der Wumpus. Wenn ein Jäger mit dem Wumpus in das Zimmer gezogen ist, frisst der Wumpus ihn. Wenn sich der Wumpus bewegt, frisst er auch die Bewohner des neuen Raumes.
Wenn die Jäger nach 100 Tagen den Wumpus nicht getötet haben oder zum Opfer gefallen sind, sterben sie in den Höhlen an Hunger.
Der Code
Den gesamten Quellcode finden Sie hier . Alle Einsendungen sollten in Java sein, es sei denn, jemand möchte mir einen stdIn / stdOut-Adapter schreiben;)
Bots sollten die Hunter-Klasse erweitern. Fügen Sie zum Benennen Ihres Jägers einen Konstruktor ohne Parameter hinzu, der das Namensfeld festlegt. Um zu antworten, überschreiben Sie die Funktion getResponse. In dieser Funktion erhalten Sie in jeder Runde ein Array von 5 Booleschen Werten, die Sie über Ihre Umgebung informieren.
status 0 = "Du riechst einen Wumpus"
status 1 = "Sie hören einen anderen Jäger"
status 2 = "Du riechst eine Leiche"
status 3 = "Sie hören ein Klappern des Pfeils"
status 4 = "Du fühlst einen anderen Jäger im selben Raum wie du."
Die Hunter-Klasse hat zwei Slots: nextMove und nextDirection, die die Aufzählungen Move und Direction verwenden. Move kann entweder MOVE oder SHOOT sein, Direction kann LEFT, RIGHT, BACK oder HERE sein. Die Anweisungen sind konsistent, dh, Sie kehren immer zum vorherigen Raum zurück, in dem Sie sich befanden. Wenn Sie vom selben Raum aus betreten, sind LINKS und RECHTS immer gleich. Wenn Sie jedoch aus einer anderen Richtung einsteigen, gelangen Sie mit LINKS und RECHTS zu verschiedenen Orten.
Sie können auch Ihre eigenen Methoden implementieren. Der Speicher bleibt während des gesamten Turniers erhalten, was bedeutet, dass Ihr Jäger nur einmal konstruiert wird. Zu Beginn jeder Runde wird jedoch die newGame () -Methode aufgerufen, um Ihren Jäger darüber zu informieren, dass ein neues Spiel gestartet wurde.
Wertung
Es treten jeweils vier Jäger gegeneinander an. Wenn der Wumpus getötet wird, erhält er 60 Punkte, die gleichmäßig auf alle überlebenden Jäger verteilt sind. Voller Round Robin-Stil, so dass jede Kombination von 4 Jägern zusammen spielt.
5 Beispieljäger sind enthalten: 4 mit grundlegender Funktionalität und einer, mit der Benutzereingaben zu Testzwecken abgespielt werden können.
Wenn Sie Anregungen / Wünsche haben, lassen Sie es mich bitte wissen!
Das Ende ist in Sicht!
Die Weltbevölkerung der Wumpus wird mit alarmierender Geschwindigkeit gejagt. Das Gesetz zum Schutz unserer Wumpuses wird voraussichtlich am Mittwoch, dem 17. Juni, verabschiedet. Nach diesem Datum dürfen keine Jäger mehr in die Höhlen und es wird ein Gewinner ermittelt.
Anzeigetafel
Hinweis: Ich entschuldige mich dafür, dass der Code einen Fehler enthält, der dazu führen kann, dass Hunters während mehrerer Spiele tot bleibt. Nachdem es behoben wurde, ändert es nicht viel an der Gesamtwertung, aber es ändert die Statistiken stark.
Es gibt Scores, in denen jeder Jägersatz in jeweils 1000 Spielen ausgeführt wird. NascarHunter und FullCoverageHunter führen das Rudel an, und obwohl die Wumpuses durch die Zugabe von AntiHunter einen 2% igen Überlebensschub erhalten haben, zittern sie immer noch mit der 32% igen Überlebensrate ihrer Art. Pfeile von Mitjägern sind mehr denn je die größte Bedrohung in den Höhlen.
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)
quelle
int
Wert von 0-31. Wir sind große Jungs hier, wir könnenAntworten:
NascarHunter
Nicht viel Logik dazu. Seine Regeln sind einfach: links abbiegen, verbrannte Erde, wiederholen. Und hey, er könnte Glück haben!
8. Juni bearbeiten:
Nascar wurde als zusätzliche Logik hinzugefügt, um die Nähe zu einem Wumpus im Verhältnis zu seinem letzten Zug zu berücksichtigen. Betrachten Sie es als einen Boxenstopp, um im Thema zu bleiben. Wenn es einen Wumpus spürt, nachdem er einen Flur heruntergeschossen hat, muss er in einem der beiden anderen angrenzenden Räume angekommen sein, da er für den Schuss gestorben wäre, den der Jäger gerade aufgenommen hat. Es gibt entweder dem Wumpus 2 Runden, um zu leben, wenn er sich nicht wieder bewegt, oder Nascar 1 Runde, um zu leben, wenn er auf einer Leiche steht. Berücksichtigt auch eine dritte Option, wenn es die erste Runde ist, aber nur die einmalige. Ich werde irgendwann zu FCH portieren, beschäftigt beschäftigt.
FullCoverageHunter
Folgt dem gleichen Credo wie der NascarHunter, wechselt jedoch seinen Weg, der garantiert eine Schleife von 10 einzigartigen Räumen bildet. Da jeder Raum einzigartig ist und wir in jede Richtung pro Raum schießen, werden alle Räume beschossen. Dies gilt für jedes Startzimmer (postuliert von meinem Kumpel Neal, danke Neal!). Dodekaeder sind so ziemlich cool!
Ich möchte darauf hinweisen, dass dies anders ist als unser Freund, der Monsterjäger, da er keine Tricks oder wirklichen "Taktiken" ausprobiert. Die Stärke davon ist die Tatsache, dass jeder Raum erneut beschossen wird: die Brute-Force-Lösung. Dies hat einen theoretischen Vorsprung vor dem NascarHunter, da Nascar nur 10 der 20 Räume trifft und nur die Hälfte der Fläche abdeckt.
11. Juni bearbeiten:
Hinzugefügt im Wumpus-Erkennungslogikmuster von NascarHunter. Sollte objektiv die Punktzahl verbessern.
Lassen Sie mich wissen, wenn Fehler aufgetreten sind, das Paket hat mit meiner IDE nicht funktioniert :(
quelle
Dachs
Er mag keine Besucher.
quelle
Elmer Fudd
"Shhh. Sei vewy vewy leise, ich jage wumpus"
Elmer ist auf die Beute fixiert und ignoriert alles außer Leichen und dem Wumpus. Er versucht eine Leiche zu finden, zieht sich dann zurück und beginnt zu schießen. Wenn er einen Wumpus riecht, zieht er sich zurück und wenn er ihn immer noch riecht, schießt er.
Ich entschuldige mich bei allen Java-Programmierern, dies ist wahrscheinlich extrem hässlich, voller Syntaxfehler und ich habe wahrscheinlich meine Logik durcheinander gebracht.
Pazifist
Dieser Typ ist moralisch gegen jede Art von Blutsport und fragt sich, wie er überhaupt in dieser Situation aufgetaucht ist. Er wird vor jeglichem Kontakt davonlaufen und niemals einen Schuss machen.
quelle
Monsterjäger
Wir jagen ein Monster und wir sind 4 ... Es erinnert mich an mein Lieblingsspiel! Dieser Jäger wandert den größten Teil der Karte von links nach rechts, und wenn der Wumpus in der Nähe ist, lockt er ihn zurück, um genau zu bestimmen, wo er ist.
Ich könnte lastDirection loswerden, aber ich halte für Semantik und Lesbarkeit :). Eigentlich stirbt es ziemlich oft, aber der Controller hat zu Beginn oft 2/3 Jäger in den gleichen Raum gesetzt und oft mit dem Wumpus in der Nähe (kann auch im gleichen Raum sein) ... also insta death ^^ '.
quelle
PacingHunter
Hin und her, zwischen zu Räumen. Wenn es einen Wumpus riecht oder einen Spieler hört, schießt es nach links und nach rechts. Wenn zu Beginn ein Wumpus neben ihm ist, schießt er auf den Raum, in den er sich begeben wird.
}
quelle
ScaredyCat
ScaredyCat hat vor allem Angst. Wenn es einen Wumpus oder eine Leiche riecht oder einen Pfeil oder einen Jäger hört, läuft es in eine zufällige Richtung. Ansonsten schießt es einfach weiter in zufällige Richtungen.
quelle
Isst Triebe und Blätter
Anders als der Panda des Grammatikbuchs frisst dieser Jäger eigentlich nichts, aber wir schießen entweder, wenn der Wumpus in der Nähe ist, oder wir gehen auf eine Spur, die uns hoffentlich davon abhalten sollte, im Kreis zu laufen.
quelle
Idomeneus
Idomeneus ist ganz einfach - wenn der Wumpus oder ein anderer Jäger in der Nähe ist, sengt er überall Feuer und betet, dass die Göttin der Jagd auf seiner Seite ist. Wenn er in der Nähe einer Leiche ist, wartet er auf den Wumpus. Er mag keine anderen Jäger und rennt davon, wenn sie in seiner Nähe Pfeile abschießen oder sich im selben Raum wie er befinden. Wenn er sich gelangweilt fühlt, läuft er schließlich willkürlich durch die ewigen Gänge.
quelle
Emo Wumpus (Jäger)
Emo Wumpuses (verwandt mit Emo Wolves, die manchmal Waffen und Flugzeuge benutzen ) hassen alles (besonders Java). Sie machen keinen Unterschied zwischen Jägern und Wumpusen und versuchen, sie trotzdem zu erschießen. Sie hassen auch Nascar-Fahrer und werden immer richtig schießen. Wenn niemand da ist, um zu schießen, bewegen sie sich nach rechts, tun dies aber nur dreizehn Mal hintereinander, bevor sie noch depressiver werden, wenn sie alleine sind und versuchen, sich selbst zu schießen (dreizehn ist eine unglückliche Zahl). Wenn sie in Runde 99 noch am Leben sind, werden sie versuchen, sich selbst zu erschießen, weil der Hunger eine so lahme Art ist, zu sterben.
Wumpuses sind größer (und schwerer) als Wolves, aber dieser hat sich immer noch auf 424 Bytes verkürzt (im Gegensatz zu den kräftigen 2,72 kb von NascarHunter).
Warum nicht gleich Selbstmord begehen? Emo Wumpuses glaubt, dass der einzige Akt des Guten darin besteht, das Leiden anderer zu beenden, bevor sie sich selbst töten. Deshalb werden sie alles töten, was sie können, bevor es an der Zeit ist, zu sterben.
Wumpus? (Anti-Jäger)
Was macht ein Wumpus auf der Jägerliste? Dieser Typ war super sauer, dass Menschen seine Verwandten töteten, also beschloss er, sich als einer von ihnen zu verkleiden und sich der Jagd anzuschließen. Sein Hauptziel ist es, nur Jäger zu töten. Er versucht, sich in der Nähe von Leichen zu verstecken, was ihm die Chance gibt, einen Schild vor den Jägern zu erhalten. Wenn sich keine Jäger in der Nähe befinden, bewegt er sich in eine Richtung, bis Jäger erkannt werden. In diesem Fall versucht er, sie zu töten, bevor er sich in die andere Richtung bewegt.
Leider sind die meisten Wumpuses dumm und werden immer noch versuchen, ihn zu töten. Unabhängig davon hält er seine Opfer für das Wohl von Wumpuses überall notwendig.
}
quelle
Laomedon
Laomedon streift ziellos umher, um eine Leiche zu finden. Sobald er eines gefunden hat und herausfindet, wo es ist, bleibt er an der gleichen Stelle neben der Leiche. Wenn er den Wumpus riecht, schießt er Pfeile in das Zimmer der Leiche.
Leider schätzen die anderen Jäger seine Fähigkeiten nicht und scheinen ihn sehr zu erschießen ...
quelle
NealHunter
Nachdem ich mit meinem Freund DoctorHeckle darüber gesprochen hatte, dachte ich, es würde Spaß machen, es selbst zu versuchen. Verwendete die Idee, links und rechts zu wechseln, um den größten Teil des Gebiets abzudecken, und entschloss sich dann, ein wenig auf die Zustände zu reagieren, aber nur 0 und 1 - ob ein Wumpus oder ein Jäger in der Nähe sind oder nicht. Funktioniert nicht so gut wie NascarHunter, was mich zuerst überrascht hat. Nach einigem Nachdenken wurde mir klar, dass das Schießen eines Pfeils in eine zufällige Richtung (wie dies der Fall ist) nach dem Hören eines Jägers / Riechens eines Wumpus nichts bringt, wenn sie sich in dieser Kurve bewegen, da Pfeile in Räume geschossen werden, aber Bewegung wird ausgeführt, bevor es sie tötet. Nicht ganz so effektiv, wie ich dachte ... funktioniert aber immer noch gut!
quelle
WalkingIdiot
Dieser geht, bis er den Wumpus findet. Dann schießt er richtig. Wenn der Wumpus noch da ist, muss er sich links befinden, also schießen Sie noch einmal. Auf dem Weg interessiert er sich nicht für andere Jäger oder Leichen, daher der Name.
Bleibe
Stay geht nicht gern spazieren. Es schießt einfach herum und erinnert sich, ob er einen Jäger erschossen hat.
quelle