From 806253a5657f23f57e9bf77a3db5bb1b23a629ab Mon Sep 17 00:00:00 2001 From: 2120940 <2120940@stud.hs-mannheim.de> Date: Mon, 9 Jan 2023 17:59:48 +0100 Subject: [PATCH] Roboterliste ausgeben implementiert --- .../tpe/exceptions/roboter/RobotFactory.java | 5 +++ Roboter/tpe/facade/FactorySystem.java | 15 ++++++++ Roboter/tpe/ui/UI.java | 36 ++++++++++++------- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/Roboter/tpe/exceptions/roboter/RobotFactory.java b/Roboter/tpe/exceptions/roboter/RobotFactory.java index 0c6809c..bfc0bd2 100644 --- a/Roboter/tpe/exceptions/roboter/RobotFactory.java +++ b/Roboter/tpe/exceptions/roboter/RobotFactory.java @@ -1,7 +1,9 @@ package tpe.exceptions.roboter; +import java.util.Collection; import java.util.HashMap; +import de.hs_mannheim.informatik.bank.domain.Konto; import tpe.exceptions.RobotException; public class RobotFactory { @@ -129,6 +131,9 @@ public class RobotFactory { public int robotStockSize() { return robotStock.size(); } + public Collection getRobotStock() { + return robotStock.values(); + } /** * Prüft ob Roboter mit übergebener ID existiert * @param id diff --git a/Roboter/tpe/facade/FactorySystem.java b/Roboter/tpe/facade/FactorySystem.java index 3c85708..7b3a233 100644 --- a/Roboter/tpe/facade/FactorySystem.java +++ b/Roboter/tpe/facade/FactorySystem.java @@ -1,10 +1,14 @@ package tpe.facade; +import java.util.Collection; + +import de.hs_mannheim.informatik.bank.domain.Konto; import tpe.exceptions.RobotException; import tpe.exceptions.roboter.C3PO; import tpe.exceptions.roboter.R2D2; import tpe.exceptions.roboter.RobotFactory; import tpe.exceptions.roboter.RobotType; +import tpe.exceptions.roboter.Robots; public class FactorySystem { private RobotFactory rf; @@ -58,4 +62,15 @@ public class FactorySystem { public String getFName() { return rf.getFactoryName(); } + public String[] getRobotStock() { + Collection robotStock = rf.getRobotStock(); + String[] liste = new String[robotStock.size()]; + + int i = 0; + for (Robots r : robotStock) { + liste[i++] = r.toString(); + } + + return liste; + } } diff --git a/Roboter/tpe/ui/UI.java b/Roboter/tpe/ui/UI.java index 092f0b7..a381dca 100644 --- a/Roboter/tpe/ui/UI.java +++ b/Roboter/tpe/ui/UI.java @@ -24,10 +24,10 @@ public class UI { mainloop: while (true) { System.out.println(); System.out.println("--------"); - System.out.println("Hauptmenü"); + 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("3 -> Einen Roboter w�hlen und mit diesem arbeiten"); System.out.println("4 -> Beenden"); System.out.println(); @@ -36,7 +36,7 @@ public class UI { System.out.println(); switch (input) { -// case 1: showRobots(); break; + case 1: showRobots(); break; case 2: buildRobot(); break; @@ -52,6 +52,18 @@ public class UI { } } + private void showRobots() { + String[] robots = fs.getRobotStock(); + if (robots.length > 0) { + System.out.println("Folgende Roboter sind verfügbar"); + for (String r : robots) { + System.out.println(r); + } + } else { + System.out.println("Bisher keine Roboter konstruiert."); + } + } + // private void showRobots() { // // System.out.println("Folgende Roboter wurden bereits erstellt: "); @@ -63,15 +75,15 @@ public class UI { String name = null; 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)."); + + "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()); if (robotType > 2 || robotType < 1) { System.out.println( - "Es stehen nur (1) oder (2) bei der Auswahl des Robotertypen zur verfügung. Bitte erneut wählen."); + "Es stehen nur (1) oder (2) bei der Auswahl des Robotertypen zur verf�gung. Bitte erneut w�hlen."); System.out.println(); buildRobot(); } else { @@ -82,7 +94,7 @@ public class UI { boolean realname = true; while (realname) { - System.out.println("Welchen Namen möchten Sie dem Roboter geben."); + System.out.println("Welchen Namen m�chten Sie dem Roboter geben."); System.out.print("> "); name = sc.nextLine(); @@ -105,7 +117,7 @@ public class UI { private void choseRobot() { - System.out.println("Geben Sie die Seriennummer des Roboters ein, mit dem Sie arbeiten möchten."); + 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()); @@ -116,13 +128,13 @@ public class UI { // else loop: while (true) { - System.out.println("Was möchten Sie mit Ihrem Roboter tun?"); + 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.println("6 -> Zur�ck ins Hauptmen�"); System.out.print("> "); int input = Integer.parseInt(sc.nextLine()); @@ -180,7 +192,7 @@ public class UI { boolean next = true; System.out.println( - "Um den Robotersprechen zu lassen, müssen Sie eine beliebig lange Folge von ganzen Zahlen angeben"); + "Um den Robotersprechen zu lassen, m�ssen Sie eine beliebig lange Folge von ganzen Zahlen angeben"); System.out.println(); System.out.println("Geben Sie die 1. Zahl Ihrer Folge ein."); int num = Integer.parseInt(sc.nextLine()); @@ -194,7 +206,7 @@ public class UI { arrayNumbers.add(num); System.out.println( - "Wenn Sie eine weiter Zahl eingeben möchten, wählen Sie (1). Wenn Sie die Eingabe beenden möchten (2)."); + "Wenn Sie eine weiter Zahl eingeben m�chten, w�hlen Sie (1). Wenn Sie die Eingabe beenden m�chten (2)."); int election = Integer.parseInt(sc.nextLine()); if (election == 1) {