Nota: il sondaggio per i preferiti della community verrà rilasciato presto
In questo KoTH, l'obiettivo è quello di essere l'ultimo bot in vita. Le monete verranno posizionate in aree casuali e il tuo bot dovrà prima ottenere le monete. Se un bot si imbatte in un altro bot, il bot con più monete vince e l'altro bot muore. Maggiori dettagli di seguito.
Tipi di monete
Ci saranno 2 tipi di monete: oro e argento. L'oro aggiunge 5 monete alla forza del robot e l'argento aggiunge 2. Una volta che una moneta viene raccolta, un'altra moneta viene posizionata in un altro punto del tabellone. In qualsiasi momento, ci sono una moneta d'oro e quattro monete d'argento nell'arena.
Collisioni bot
Nel caso in cui due robot tentassero di occupare lo stesso spazio, quello con più monete rimarrà e quello con meno ... no. Il bot vincente otterrà l' 85% delle monete degli avversari (arrotondato per eccesso). Se sono legati, entrambi muoiono. Se tre o più tentano di occupare lo stesso spazio, il più potente vince e ottiene l'85% di tutte le monete dell'altro robot. Nel caso in cui il bot più potente sia un pareggio, muoiono tutti i robot che hanno cercato di entrare nello spazio.
Arena
La lunghezza laterale dell'arena viene calcolata con 4 + botCount
. Quando si posizionano i robot all'inizio del gioco, vengono scelti posti casuali. Il sistema garantisce che nessun robot si avvii nello stesso spazio o uno accanto all'altro. Le monete si generano casualmente, escludendo un quadrato di 3 per 3 centrato su ciascun bot. Se un bot viene trovato fuori dall'arena, muore all'istante. L'arena inizia da (0,0), o nord-ovest, nell'angolo in alto a sinistra e la posizione di un bot è sempre un numero intero.
Il tuo bot
Il tuo bot dovrebbe essere una funzione, in qualsiasi linguaggio orientato agli oggetti che ha array, numeri interi, stringhe e funzioni. Nota che tutti gli invii verranno convertiti in Javascript, per semplificare le cose. Per memorizzare informazioni tra mosse, usare botNotes.storeData(key, value)
e botNotes.getData(key, value)
. Non è possibile archiviare o accedere ai dati in alcun modo, diverso da quello fornito attraverso i parametri e botNotes
. È necessario creare una funzione che, quando viene chiamato, restituisce una stringa north
, east
, south
, west
, o none
. Ci saranno 3 argomenti per la funzione:
Un oggetto con quattro numeri interi (
locationX
,locationY
,coins
,arenaLength
), la posizione corrente, le monete, e la lunghezza dell'arenaUn array multidimensionale con le coordinate X e Y di altri robot e il loro conteggio delle monete, ex-
[[0,5,4],[4,7,1],[7,4,12]]
Un array con le posizioni delle monete elencate (l'oro è sempre il primo)
Questa è una sfida da re della collina, proibite le feritoie standard . La tua funzione verrà eseguita diverse migliaia di volte, ogni volta è consentito uno "Sposta". Nota che se il gioco supera le 20.000 mosse , vince il bot con il maggior numero di monete. Questo verrà fatto 8.000 volte, per rimuovere la casualità.
Chatroom: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
premi:
Primo posto:
Community Bounty da 100 punti Preferito: risposta accettata da 15 punti
Vincitori:
Primo posto: TBTPTGCBCBA
Secondo posto: Big King Little Hill
Terzo posto: Potenzialmente vittorioso
Quarto posto: Gentile avvistato ubriaco Bot
Quinto posto: Moneta di sicurezza