Browse Source

„ManualBot.java“ ändern

master
Isabella Nawratil 3 months ago
parent
commit
76006c007b
1 changed files with 14 additions and 11 deletions
  1. 14
    11
      ManualBot.java

+ 14
- 11
ManualBot.java View File

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 {
Scanner scanner = new Scanner(System.in);
protected char nextMove(View view) {
// 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
case 'q': // Verbindung beenden
return move;
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
} }
} }

Loading…
Cancel
Save