„ManualBot.java“ ändern

This commit is contained in:
Isabella Nawratil 2024-02-04 21:13:44 +00:00
parent 78d151d0d1
commit 76006c007b

View File

@ -1,41 +1,44 @@
package bot; package bot;
import java.util.Scanner; import java.util.Scanner;
public class ManualBot extends Bot { public class ManualBot extends Bot {
private final Scanner scan; // Fügen Sie den Scanner als Instanzvariable hinzu
public ManualBot(String[] args) { public ManualBot(String[] args, Scanner scanner) {
super(args); super(args);
this.scan = scanner; // Initialisieren Sie den Scanner für die Standardeingabe
} }
@Override @Override
protected char nextMove(View view) throws Exception { protected char nextMove(View view) {
Scanner scanner = new Scanner(System.in); // Ihre bestehende Implementierung der nextMove-Methode bleibt unverändert
// ...
// Benutzer zur Eingabe eines Befehls auffordern // Benutzer zur Eingabe eines Befehls auffordern
System.out.println("Bitte geben Sie einen Befehl ein (w, s, a, d, q): "); System.out.println("Bitte geben Sie einen Befehl ein (w, s, a, d, q): ");
char move = scanner.nextLine().charAt(0); char move = scan.nextLine().charAt(0);
// Verarbeiten Sie den eingegebenen Befehl gemäß der Umsetzungstabelle
switch (move) { switch (move) {
case 'w': // vorwärts bewegen case 'w': // vorwärts bewegen
case 's': // rückwärts bewegen case 's': // rückwärts bewegen
case 'a': // nach links drehen case 'a': // nach links drehen
case 'd': // nach rechts drehen case 'd': // nach rechts drehen
return move; // Rückgabe des verarbeiteten Befehls an die run-Methode return move;
case 'q': // Verbindung beenden case 'q': //Verbindung beenden
System.out.println("Verbindung wird beendet."); System.out.println("Verbindung wird beendet.");
return 'q'; // Rückgabe von 'q' als Zeichen return 'q';
default: default:
System.out.println("Falsche Taste. Bitte geben Sie w, s, a, d oder q ein."); System.out.println("Falsche Taste. Bitte geben Sie w, s, a, d oder q ein.");
} }
// Falls der Befehl nicht gültig war, rekursiv nächsten Befehl abfragen // Falls der Befehl nicht gültig war, wird dann der next Befehl abgefragt
return nextMove(view); return nextMove(view);
} }
public static void main(String[] args) { public static void main(String[] args) {
ManualBot manualBot = new ManualBot(args); Scanner scanner = new Scanner(System.in);
ManualBot manualBot = new ManualBot(args, scanner);
manualBot.run(); manualBot.run();
scanner.close(); // Schließen des Scanners
} }
} }