Hinweis: Die Umfrage zum Community-Favoriten wird in Kürze veröffentlicht
In diesem KoTH ist es das Ziel, der letzte lebende Bot zu sein. Münzen werden in zufälligen Bereichen platziert, und Ihr Bot muss zuerst die Münzen erhalten. Wenn ein Bot auf einen anderen Bot trifft, gewinnt der Bot mit mehr Münzen und der andere Bot stirbt. Weitere Details unten.
Münztypen
Es wird 2 Arten von Münzen geben: Gold und Silber. Gold erhöht die Stärke des Bots um 5 Münzen und Silber um 2. Sobald eine Münze gesammelt wurde, wird eine weitere Münze an einer anderen Stelle auf dem Brett platziert. Zu jeder Zeit befinden sich eine Goldmünze und vier Silbermünzen in der Arena.
Bot-Kollisionen
Wenn zwei Bots versuchen, den gleichen Platz einzunehmen, bleibt der mit den mehr Münzen und der mit den weniger ... nicht. Der siegreiche Bot erhält 85% der Münzen des Gegners (aufgerundet). Wenn sie gebunden sind, sterben beide. Versuchen drei oder mehr, dasselbe Feld zu besetzen, gewinnt der Mächtigste und erhält 85% aller Münzen des anderen Bots. Für den Fall, dass der mächtigste Bot ein Unentschieden ist, sterben alle Bots, die versucht haben, das Feld zu betreten.
Arena
Die Seitenlänge der Arena wird mit berechnet 4 + botCount
. Wenn Bots zu Beginn des Spiels platziert werden, werden zufällige Orte ausgewählt. Das System stellt sicher, dass keine Bots im selben Raum oder nebeneinander beginnen. Münzen werden zufällig generiert, mit Ausnahme eines 3 x 3-Quadrats, das auf jedem Bot zentriert ist. Wird ein Bot außerhalb der Arena gefunden, stirbt er sofort. Die Arena beginnt bei (0,0) oder Nordwesten in der oberen linken Ecke, und die Position eines Bots ist immer eine Ganzzahl.
Dein Bot
Ihr Bot sollte eine Funktion in jeder objektorientierten Sprache sein, die Arrays, Ganzzahlen, Zeichenfolgen und Funktionen enthält. Beachten Sie, dass alle Einsendungen in Javascript konvertiert werden, um die Sache zu vereinfachen. Verwenden Sie botNotes.storeData(key, value)
und, um Informationen zwischen den Zügen zu speichern botNotes.getData(key, value)
. Sie dürfen auf keine andere Weise als die durch die Parameter und angegebenen Daten speichern oder darauf zugreifen botNotes
. Sie sollten eine Funktion erstellen , die, wenn sie aufgerufen wird , eine Zeichenfolge zurückgibt north
, east
, south
, west
, oder none
. Es gibt 3 Argumente für die Funktion:
Ein Objekt mit vier ganzen Zahlen (
locationX
,locationY
,coins
,arenaLength
), momentaner Standort, Ihre Münzen, und die Länge der ArenaEin mehrdimensionales Array mit den X- und Y-Koordinaten anderer Bots und deren Münzzahl
[[0,5,4],[4,7,1],[7,4,12]]
Ein Array mit den aufgelisteten Münzpositionen (Gold steht immer an erster Stelle)
Dies ist ein König der Hügel Herausforderung, Standard-Schlupflöcher verboten. Ihre Funktion wird mehrere tausend Mal ausgeführt, wobei jedes Mal ein "Verschieben" zulässig ist. Beachten Sie, dass bei mehr als 20.000 Zügen der Bot mit den meisten Münzen gewinnt. Dies wird 8000-mal durchgeführt, um die Zufälligkeit zu beseitigen.
Chatroom: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
Preise:
Erster Platz: 100-Punkte-Kopfgeld
Community Favorit: 15-Punkte-akzeptierte Antwort
Gewinner:
Erster Platz: TBTPTGCBCBA
Zweiter Platz: Big King Little Hill
Dritter Platz: Potenziell siegreich
Vierter Platz: Höflicher, kurzsichtiger, betrunkener Bot
Fünfter Platz: Sicherheitsmünze