Remarque: l'enquête sur les favoris de la communauté sera publiée bientôt
Dans ce KoTH, l’objectif est d’être le dernier bot en vie. Les pièces seront placées dans des zones aléatoires, et votre bot doit d'abord obtenir les pièces. Si un bot rencontre un autre bot, le bot avec plus de pièces gagne et l'autre meurt. Plus de détails ci-dessous.
Types de pièces
Il y aura 2 types de pièces: or et argent. L'or ajoute 5 pièces à la force du bot et l'argent en ajoute 2. Une fois qu'une pièce est collectée, une autre pièce est placée à un autre endroit du tableau. À tout moment, il y a une pièce d'or et quatre pièces d'argent dans l'arène.
Collisions de bot
Dans le cas où deux robots essaient d'occuper le même espace, celui qui a le plus de pièces restera et celui qui en a moins ... pas. Le bot gagnant remportera 85% des pièces de l'adversaire (arrondi au maximum). S'ils sont attachés, les deux meurent. Si trois ou plus essaient d'occuper le même espace, le plus puissant gagne et obtient 85% de toutes les pièces des autres robots. Au cas où le bot le plus puissant serait à égalité, tous les robots mourants qui ont tenté d'entrer dans l'espace meurent.
Arène
La longueur du côté de l'arène est calculée avec 4 + botCount
. Lors du placement de bots au début du jeu, des emplacements aléatoires sont choisis. Le système garantit qu'aucun robot ne démarre dans le même espace ou l'un à côté de l'autre. Les pièces sont générées aléatoirement, à l’exception du carré 3 × 3 centré sur chaque bot. Si un bot est trouvé à l'extérieur de l'arène, il meurt instantanément. L'arène commence à (0,0), ou Nord-Ouest, dans le coin supérieur gauche, et l'emplacement d'un bot est toujours un entier.
Votre bot
Votre bot doit être une fonction, dans tout langage orienté objet qui comporte des tableaux, des entiers, des chaînes et des fonctions. Notez que toutes les soumissions seront converties en Javascript, pour simplifier les choses. Pour stocker des informations entre les déplacements, utilisez botNotes.storeData(key, value)
et botNotes.getData(key, value)
. Vous ne pouvez pas stocker ou accéder aux données de quelque manière que ce soit, autre que celle fournie par les paramètres et botNotes
. Vous devez créer une fonction qui, lorsqu'elle est appelée, retourne une chaîne north
, east
, south
, west
ou none
. Il y aura 3 arguments pour la fonction:
Un objet avec quatre entiers (
locationX
,locationY
,coins
,arenaLength
), votre emplacement actuel, vos pièces, et la longueur de l'arèneUn tableau multidimensionnel avec les coordonnées X et Y d’autres bots, ainsi que leur nombre de pièces,
[[0,5,4],[4,7,1],[7,4,12]]
Un tableau avec les emplacements de pièces énumérés (Gold est toujours le premier)
C’est un défi roi, les échappatoires standard sont interdites. Votre fonction sera exécutée plusieurs milliers de fois, à chaque fois autorisée un "Move". Notez que si le jeu dépasse 20 000 coups , le bot avec le plus de pièces gagne. Cela sera fait 8 000 fois, pour éliminer le caractère aléatoire.
Chatroom: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
Prix:
Première place: prime de 100 points
Communauté préférée: réponse acceptée de 15 points
Gagnants:
Première place: TBTPTGCBCBA
Deuxième place: Big roi colline
Troisième place: Potentiellement Victorieux
Quatrième place: Polite myopes Ivre Bot
Cinquième place: Sécurité Coin