package tpe.ui; import java.util.Scanner; import tpe.exceptions.roboter.RobotFactory; public class UI { Scanner sc = new Scanner(System.in); //hier fehlt noch die Verknüpfung zum Factorysystem private void menu() { System.out.println("Willkommen bei der " + "Name der Roboterfabrik" + "!"); mainloop: while (true) { System.out.println(); System.out.println("--------"); System.out.println("Hauptmenü"); System.out.println("1 -> Alle Roboter anzeigen"); System.out.println("2 -> Einen neuen Roboter erstellen"); System.out.println("3 -> Einen Roboter wählen und mit diesem arbeiten"); System.out.println("4 -> Beenden"); System.out.println(); System.out.print("> "); int input = Integer.parseInt(sc.nextLine()); System.out.println(); switch(input) { case 1: showRobots(); break; case 2: buildRobot(); break; case 3: choseRobot(); break; case 4: break mainloop; } System.out.println(); } } private void showRobots() { System.out.println("Folgende Roboter wurden bereits erstellt: "); // Seriennummer, Typ und Name aller Roboter soll aufgelistet werden } private void buildRobot() { System.out.println("Sie haben sich dazu entschieden einen Roboter zu bauen. " + "Wenn Sie einen Roboter vom Typ R2D2 bauen möchten, dann drücken Sie die (1). " + "Wenn Sie einen Roboter vom TYp C3PO bauen möchten, dann drücken Sie die (2)."); System.out.print("> "); int robotType = Integer.parseInt(sc.nextLine()); //robotType als Variable für Typ System.out.println(); //Namensgabe System.out.println("Welchen Namen möchten Sie dem Roboter geben?"); System.out.print("> "); String name = sc.nextLine(); //name als Variable für Name System.out.println(); int serialnumber = 0; // Methode aufrufen, welcher name und Typ übergeben wird und seriennummer zurückerhält.) System.out.println("Sie haben einen Roboter vom Typ " + robotType + " mit dem Namen " + name + " mit der Seriennummer " + serialnumber + " erstellt."); } private void choseRobot() { System.out.println("Geben Sie die Seriennummer des Roboters ein, mit dem Sie arbeiten möchten."); System.out.print("> "); int id = Integer.parseInt(sc.nextLine()); System.out.println(); loop: while (true) { System.out.println("Was möchten Sie mit Ihrem Roboter tun?"); System.out.println("1 -> Zustand des Roboters"); System.out.println("2 -> AN oder Aus schalten"); System.out.println("3 -> Roboter spricht"); System.out.println("4 -> Letzte Fehlermeldung auslesen"); // Haben bzw. brauchen wir solch eine Funktion System.out.println("5 -> Daten des Roboters abrufen"); System.out.println("6 -> Zurück ins Hauptmenü"); System.out.print("> "); int input = Integer.parseInt(sc.nextLine()); switch (input) { case 1: robotStatus(id); break; case 2: onoffbutton(id); break; case 3: robotSpeak(id); break; case 4: lastError(id); break; case 5: robotData(id); break; case 6: break loop; } } } private void robotStatus(int id) { boolean status = RobotFactory.powerStatus(id); if (status == true) System.out.println("Der Roboter ist angeschaltet."); else System.out.println("Der Roboter ist ausgeschaltet."); } private void onoffbutton(int id) { boolean status = RobotFactory.triggerPower(id); if (status == true) System.out.println("Der Roboter wurde eingeschaltet."); else System.out.println("Der Roboter wurde ausgeschaltet."); } private void robotSpeak(int id) { } private void lastError(int id) { } private void robotData(int id) { } }