TerraTactician Expandoria Logo

TerraTactician Expandoria

Quest 2

Zuletzt aktualisiert: April 22, 2025

Das Ziel von diesem Level ist es, den Bot aufzusetzen und sich mit den grundlegenden Bot-Interaktionen vertraut zu machen.

Du kannst in der AuD Bot Aufgabe oder auf Codeberg ein Bot-Grundgerüst finden.
Eine Anleitung zum Einrichten vom Bot kannst du im Erste Schritte Post finden. Informationen zum Installieren des Spiels sind auf unserer Website verfügbar.

Teil 1

Wir haben auf der Karte 3 Weizen Tiles platziert. Eins davon steht nicht optimal und kann eingesammelt werden. Deine Aufgabe ist es, das Weizen Tile einzusammeln und zwischen den zwei Weizen Tiles zu platzieren.
Dein Code kannst Du in die executeTurn Methode vom Bot packen.

public void executeTurn(World world, Controller controller) {

Über die World kannst du auf die Welt zugreifen.
Diese erlaubt es dir, auf die Map zuzugreifen, mit der Du über alle Tiles der Welt iterieren kannst.

World world = world.getMap();
for (Tile tile : world) {
  // geht alle Tiles durch
}

Dabei kannst du für jedes Tile prüfen, ob es aufgesammelt werden kann.

Der Controller kann genutzt werden, um die Aktion deines Zugs festzulegen.
Wenn du das Tile gefunden hast, kannst du es mit controller.takeTile aufnehmen.

Danach musst du die Stelle finden, an der das Tile platziert werden kann. Du könntest dazu alle Positionen prüfen, oder du arbeitest einfach direkt mit den Positionen der zwei anderen Weizen Tiles, indem du unsere CubeCoordinate Schnittstellen nutzt (z. B. div und sub).
Wenn du die Position ermittelt hast, kannst du das Tile mit controller.placeTile ein Tile platzieren.

// Tile aufnehmen
controller.takeTile(tile.getCoordinate());
// Tile plazieren
controller.placeTile(TileType.Wheat, new CubeCoordinate(0, 0, 0));

Teil 2

Nach gewisser Zeit spawnen Rewards über den Tiles. Du sollst nun einen Reward einsammeln, um eine Belohnung zu erhalten.
Du kannst über die World auf alle Rewards zugreifen und über diese iterieren, und dann über die Position eins einsammeln.