Browse Source

Dateien hochladen nach „“

master
Aylin Goekce 10 months ago
parent
commit
fd64af0bba
1 changed files with 23 additions and 31 deletions
  1. 23
    31
      ManualBot.java

+ 23
- 31
ManualBot.java View File

import java.util.Scanner; import java.util.Scanner;


public class ManualBot extends Bot { public class ManualBot extends Bot {
private Scanner scanner;
public ManualBot(String[] args) {
super(args);
this.scanner = new Scanner(System.in);
}


public static void main(String[] args) {
ManualBot manualBot = new ManualBot(args);
manualBot.run();
public ManualBot(String[] args) {
super(args); // Aufruf des Konstruktors der Oberklasse Bot
} }


@Override @Override
protected char nextMove(View view) throws Exception { protected char nextMove(View view) throws Exception {
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
char move;

do {
System.out.println("Bitte geben Sie einen Steuerbefehl ein (w, s, a, d, q): ");
move = scanner.nextLine().toLowerCase().charAt(0);
} while (!isValidMove(move));


return move;
}
// Benutzer zur Eingabe eines Befehls auffordern
System.out.println("Bitte geben Sie einen Befehl ein (w, s, a, d, q): ");
char move = scanner.nextLine().charAt(0);


private boolean isValidMove(char move) {
// Verarbeiten Sie den eingegebenen Befehl gemäß der Umsetzungstabelle
switch (move) { switch (move) {
case 'w':
case 's':
case 'a':
case 'd':
case 'q':
return true;
case 'w': // vorwärts bewegen
case 's': // rückwärts bewegen
case 'a': // nach links drehen
case 'd': // nach rechts drehen
return move; // Rückgabe des verarbeiteten Befehls an die run-Methode
case 'q': // Verbindung beenden
System.out.println("Verbindung wird beendet.");
System.exit(0); // Das Programm beenden, um die Verbindung zu schließen
break;
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.");
return false;
} }
}
public void run() {
startCommunication();
// hier muss die Logik für die Verbindung implementiert werden

// Falls der Befehl nicht gültig war, rekursiv nächsten Befehl abfragen
return nextMove(view);
}

public static void main(String[] args) {
ManualBot manualBot = new ManualBot(args);
manualBot.run();
} }
} }

Loading…
Cancel
Save