diff --git a/src/RumbleBotTest2.java b/src/RumbleBotTest2.java deleted file mode 100644 index 9ab17ac..0000000 --- a/src/RumbleBotTest2.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * RumbleBot. - * Der Rover ist auch mit einem Geschütz ausgestattet, dass nur in Fahrrichtung feuern kann. - * Der Feuerbefehl ist „f“. Die Reichweite des Geschützes entspricht der Scanreichweite. - * Wälder, Felsen und Wasser blockieren Schüsse. - * Der Rover ist beim ersten Treffer zerstört. Wer überlebt am längsten? - * docker run --rm -p 63187:63187 mediaeng/bots rumble - */ - -public class RumbleBotTest2 extends Bot { - - private char currentDirection = '^'; // Start-Richtung des Bots - - protected RumbleBotTest2(String[] args) { - super(args); - } - - public static void main(String[] args) { - Bot rumbleBot = new RumbleBot(args); - rumbleBot.run(); - } - - @Override - protected char nextMove(View view) { - // Scanne das Spielfeld nach Gegnern in Fahrtrichtung - if (isEnemyInSight(view)) { - return 'f'; // Feuere, wenn ein Gegner in Reichweite ist - } - - // Wenn kein Gegner in Sicht, wähle eine Bewegung - return chooseMove(view); - } - - private boolean isEnemyInSight(View view) { - // Prüfe, ob ein Gegner in der aktuellen Fahrtrichtung ist - // Annahme: Gegner sind als ^, <, >, v gekennzeichnet - String enemySymbols = "^<>v"; - return view.data.contains(String.valueOf(currentDirection)) && enemySymbols.contains(String.valueOf(currentDirection)); - } - - private char chooseMove(View view) { - // Wähle eine sichere Bewegung, vermeide Hindernisse und versuche, Gegner zu finden - // Einfache Implementierung: Wechsle die Richtung bei jedem Zug - currentDirection = getNextDirection(currentDirection); - return currentDirection; - } - - private char getNextDirection(char currentDirection) { - switch (currentDirection) { - case '^': - return '>'; - case '>': - return 'v'; - case 'v': - return '<'; - case '<': - return '^'; - default: - return '^'; // Standardrichtung, falls etwas schiefgeht - } - } -}