Funktionsweise

Die Funktionsweise des Spiels

Auch wenn es nicht so aussieht, ist das Spiel streng rundenbasiert. Die Eingaben der Bots werden daher nacheinander verarbeitet, und nicht, wie man anfangs vermuten könnte, alle gleichzeitig.

Das Spiel

Ein Spiel besteht aus 1600 Zeitschritten (Ticks). In jedem Tick kommen alle Spieler zum Zug. Dabei ist die Zugreihenfolge in jedem Tick zufällig gewählt, das heißt ihr könnt euch nicht darauf verlassen, dass euer Bot immer nach einem bestimmten anderen Spieler an der Reihe ist.

Der Tick

Um nun also einen Tick zu bearbeiten, ruft Fluffy Ink nacheinander für jeden IPlayerController (das ist in diesem Fall euer Bot, denn ihr implementiert dieses Interface) die Methode public Order think(MapInfo mapInfo, PlayerInfo ownPlayerInfo, PlayerInfo[] enemyPlayerInfo) auf. Als Eingabeparameter erhaltet ihr Objekte, in denen ihr die momentane Situation des Spielfeldes und aller Spieler abfragen könnt (mehr dazu in der API-Dokumentation) Als Rückgabewert wird eine Order erwartet. Diese Order gibt an, was der Spieler tun soll.

Sofern die Regeln für eine Order befolgt wurden, führt das Spiel diese aus und ruft dann die think-Methde des nächsten Spielers auf.

Sieger des Spiels

Der Spieler mit den meisten Punkten gewinnt. Gibt es mehrere Spieler mit den meisten Punkten, so haben alle diese Spieler gewonnen.

Die Simulation

Ihr habt die Möglichkeit, das Spiel zu simulieren. Das kann dabei helfen schnell herauszufinden, wie gut euer Bot im Allgemeinen gegen andere Bots spielt. Die Simulation ist direkt im Auswahlmenü der Bots zu finden. Man kann 100 bis 10.000 Simulationen ausführen. Daraufhin erfährt man die Anzahl der Siege in diesen Spielen.

Es kann vorkommen, dass die Summe der Siege größer der Anzahl der Simulationen ist. In diesem Fall gab es Spiele, in denen mehrere Spieler gewonnen haben.