From 3d69d0a6df2c284d42ef8a62d307e92be9f26ebe Mon Sep 17 00:00:00 2001 From: Isabella Nawratil Date: Sun, 4 Feb 2024 22:42:58 +0000 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9E=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RumbleBot.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 RumbleBot.java diff --git a/RumbleBot.java b/RumbleBot.java new file mode 100644 index 0000000..e0935d4 --- /dev/null +++ b/RumbleBot.java @@ -0,0 +1,43 @@ +package bot; + + + +public class RumbleBot extends Bot { + + private boolean shouldFire; // wichtig um den Feuerstatus des Bots zu verfolgen + + + // Konstruktor für RumbleBot + public RumbleBot(String[] args) { + super(args); //Konstruktor der Elternklasse wird aufgerufen + this.shouldFire = false; + } + + // Logik für den RumbleBot, der in Fahrtrichtung schießt + @Override + protected char nextMove(View view) throws Exception { + // Logik für den RumbleBot muss hier dann noch implementiert werden + + + // Wenn andere Bots in Sicht sind, wird gefeuert + if (isOtherBotInSight(view.data)) { + shouldFire = true; + } + + if (shouldFire) { + shouldFire = false; // Zurücksetzen, damit nicht mehrmals hintereinander geschossen wird + return 'f'; // Feuerbefehl + } + return 'w'; // nur als Notloesung gedacht fuer den Anfang + } + private boolean isOtherBotInSight(String data) { + // Überprüft, ob anderer Bot in Sicht sind (z.B., "^", "<", ">", "v" in der Karte) + return data.contains("^") || data.contains("<") || data.contains(">") || data.contains("v"); + } + + // main Methode um den Bot zu starten + public static void main(String[] args) { + RumbleBot rumbleBot = new RumbleBot(args); + rumbleBot.run(); + } +}