Uwaga: ankieta dla ulubionych społeczności zostanie wkrótce opublikowana
W tym KoTH celem jest bycie ostatnim żyjącym botem. Monety będą umieszczane w losowych obszarach, a twój bot musi najpierw zdobyć monety. Jeśli bot trafi na innego bota, wygrywa bot z większą ilością monet, a drugi umiera. Więcej szczegółów poniżej.
Rodzaje monet
Będą 2 rodzaje monet: złote i srebrne. Złoto dodaje 5 siły do siły bota, a srebro dodaje 2. Po zebraniu monety kolejna moneta jest umieszczana w innym miejscu na planszy. W danym momencie na arenie jest jedna złota moneta i cztery srebrne monety.
Zderzenia botów
W przypadku dwóch botów próbujących zająć to samo miejsce, ten z większą liczbą monet pozostanie, a ten z mniejszą liczbą ... nie. Zwycięski bot zyska 85% monet przeciwnika (zaokrąglone w górę). Jeśli są związane, oboje giną. Jeśli trzy lub więcej osób spróbuje zająć to samo miejsce, najpotężniejszy wygrywa i otrzymuje 85% wszystkich monet innego bota. W przypadku, gdy najpotężniejszym botem jest remis, wszystkie boty giną, próbując wejść w przestrzeń.
Arena
Długość boku areny jest obliczana za pomocą 4 + botCount
. Podczas umieszczania botów na początku gry wybiera się losowe miejsca. System zapewnia, że żadne boty nie wystartują w tym samym miejscu lub obok siebie. Monety generują losowo, z wyłączeniem kwadratu 3 na 3 wyśrodkowanego na każdym bocie. Jeśli bot zostanie znaleziony poza areną, natychmiast umiera. Arena zaczyna się od (0,0) lub na północny zachód, w lewym górnym rogu, a lokalizacja bota jest zawsze liczbą całkowitą.
Twój bot
Twój bot powinien być funkcją w dowolnym języku obiektowym, który ma tablice, liczby całkowite, łańcuchy i funkcje. Pamiętaj, że wszystkie zgłoszenia zostaną przekonwertowane na Javascript, aby uprościć sprawę. Aby przechowywać informacje między ruchami, użyj botNotes.storeData(key, value)
i botNotes.getData(key, value)
. Nie możesz przechowywać ani uzyskiwać dostępu do danych w jakikolwiek inny sposób niż ten, który jest zapewniany przez parametry i botNotes
. Należy utworzyć funkcję, kiedy nazywa, zwraca łańcuch north
, east
, south
, west
, lub none
. Będą 3 argumenty dla funkcji:
Obiekt z czterech liczb całkowitych (
locationX
,locationY
,coins
,arenaLength
), aktualna lokalizacja, swoje monety, a długość rzęduWielowymiarowa tablica ze współrzędnymi X i Y innych botów i ich liczbą monet, np.
[[0,5,4],[4,7,1],[7,4,12]]
Tablica z wymienionymi lokalizacjami monet (złoto jest zawsze pierwsze)
To wyzwanie króla wzgórza, zabronione Standardowe Luki . Twoja funkcja będzie uruchamiana kilka tysięcy razy, za każdym razem dozwolony jeden „ruch”. Pamiętaj, że jeśli gra przekroczy 20 000 ruchów , wygrywa bot z największą liczbą monet. Zostanie to zrobione 8000 razy, aby usunąć losowość.
Pokój czatu: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
Nagrody:
Pierwsze miejsce: 100-punktowa nagroda
Społeczność Ulubiona: 15-punktowa zaakceptowana odpowiedź
Zwycięzcy:
Pierwsze miejsce: TBTPTGCBCBA
Drugie miejsce: Big King Little Hill
Trzecie miejsce: Potencjalnie zwycięski
Czwarte miejsce: Uprzejmy, niedowidzący pijany bot
Piąte miejsce: Moneta bezpieczeństwa