Roboterliste ausgeben implementiert

main
Lukas Berens 2023-01-09 17:59:48 +01:00
parent 78da189aa0
commit 806253a565
3 changed files with 44 additions and 12 deletions

View File

@ -1,7 +1,9 @@
package tpe.exceptions.roboter; package tpe.exceptions.roboter;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import de.hs_mannheim.informatik.bank.domain.Konto;
import tpe.exceptions.RobotException; import tpe.exceptions.RobotException;
public class RobotFactory { public class RobotFactory {
@ -129,6 +131,9 @@ public class RobotFactory {
public int robotStockSize() { public int robotStockSize() {
return robotStock.size(); return robotStock.size();
} }
public Collection<Robots> getRobotStock() {
return robotStock.values();
}
/** /**
* Prüft ob Roboter mit übergebener ID existiert * Prüft ob Roboter mit übergebener ID existiert
* @param id * @param id

View File

@ -1,10 +1,14 @@
package tpe.facade; package tpe.facade;
import java.util.Collection;
import de.hs_mannheim.informatik.bank.domain.Konto;
import tpe.exceptions.RobotException; import tpe.exceptions.RobotException;
import tpe.exceptions.roboter.C3PO; import tpe.exceptions.roboter.C3PO;
import tpe.exceptions.roboter.R2D2; import tpe.exceptions.roboter.R2D2;
import tpe.exceptions.roboter.RobotFactory; import tpe.exceptions.roboter.RobotFactory;
import tpe.exceptions.roboter.RobotType; import tpe.exceptions.roboter.RobotType;
import tpe.exceptions.roboter.Robots;
public class FactorySystem { public class FactorySystem {
private RobotFactory rf; private RobotFactory rf;
@ -58,4 +62,15 @@ public class FactorySystem {
public String getFName() { public String getFName() {
return rf.getFactoryName(); return rf.getFactoryName();
} }
public String[] getRobotStock() {
Collection<Robots> robotStock = rf.getRobotStock();
String[] liste = new String[robotStock.size()];
int i = 0;
for (Robots r : robotStock) {
liste[i++] = r.toString();
}
return liste;
}
} }

View File

@ -24,10 +24,10 @@ public class UI {
mainloop: while (true) { mainloop: while (true) {
System.out.println(); System.out.println();
System.out.println("--------"); System.out.println("--------");
System.out.println("Hauptmenü"); System.out.println("Hauptmen<EFBFBD>");
System.out.println("1 -> Alle Roboter anzeigen"); System.out.println("1 -> Alle Roboter anzeigen");
System.out.println("2 -> Einen neuen Roboter erstellen"); 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<EFBFBD>hlen und mit diesem arbeiten");
System.out.println("4 -> Beenden"); System.out.println("4 -> Beenden");
System.out.println(); System.out.println();
@ -36,7 +36,7 @@ public class UI {
System.out.println(); System.out.println();
switch (input) { switch (input) {
// case 1: showRobots(); break; case 1: showRobots(); break;
case 2: case 2:
buildRobot(); buildRobot();
break; 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() { // private void showRobots() {
// //
// System.out.println("Folgende Roboter wurden bereits erstellt: "); // System.out.println("Folgende Roboter wurden bereits erstellt: ");
@ -63,15 +75,15 @@ public class UI {
String name = null; String name = null;
System.out.println("Sie haben sich dazu entschieden einen Roboter zu bauen. " 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 R2D2 bauen m<EFBFBD>chten, dann dr<64>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 C3PO bauen m<EFBFBD>chten, dann dr<64>cken Sie die (2).");
System.out.print("> "); System.out.print("> ");
int robotType = Integer.parseInt(sc.nextLine()); int robotType = Integer.parseInt(sc.nextLine());
if (robotType > 2 || robotType < 1) { if (robotType > 2 || robotType < 1) {
System.out.println( 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<EFBFBD>gung. Bitte erneut w<>hlen.");
System.out.println(); System.out.println();
buildRobot(); buildRobot();
} else { } else {
@ -82,7 +94,7 @@ public class UI {
boolean realname = true; boolean realname = true;
while (realname) { while (realname) {
System.out.println("Welchen Namen möchten Sie dem Roboter geben."); System.out.println("Welchen Namen m<EFBFBD>chten Sie dem Roboter geben.");
System.out.print("> "); System.out.print("> ");
name = sc.nextLine(); name = sc.nextLine();
@ -105,7 +117,7 @@ public class UI {
private void choseRobot() { 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<EFBFBD>chten.");
System.out.print("> "); System.out.print("> ");
int id = Integer.parseInt(sc.nextLine()); int id = Integer.parseInt(sc.nextLine());
@ -116,13 +128,13 @@ public class UI {
// else // else
loop: while (true) { loop: while (true) {
System.out.println("Was möchten Sie mit Ihrem Roboter tun?"); System.out.println("Was m<EFBFBD>chten Sie mit Ihrem Roboter tun?");
System.out.println("1 -> Zustand des Roboters"); System.out.println("1 -> Zustand des Roboters");
System.out.println("2 -> AN oder Aus schalten"); System.out.println("2 -> AN oder Aus schalten");
System.out.println("3 -> Roboter spricht"); System.out.println("3 -> Roboter spricht");
System.out.println("4 -> Letzte Fehlermeldung auslesen"); // Haben bzw. brauchen wir solch eine Funktion 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("5 -> Daten des Roboters abrufen");
System.out.println("6 -> Zurück ins Hauptmenü"); System.out.println("6 -> Zur<EFBFBD>ck ins Hauptmen<65>");
System.out.print("> "); System.out.print("> ");
int input = Integer.parseInt(sc.nextLine()); int input = Integer.parseInt(sc.nextLine());
@ -180,7 +192,7 @@ public class UI {
boolean next = true; boolean next = true;
System.out.println( 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<EFBFBD>ssen Sie eine beliebig lange Folge von ganzen Zahlen angeben");
System.out.println(); System.out.println();
System.out.println("Geben Sie die 1. Zahl Ihrer Folge ein."); System.out.println("Geben Sie die 1. Zahl Ihrer Folge ein.");
int num = Integer.parseInt(sc.nextLine()); int num = Integer.parseInt(sc.nextLine());
@ -194,7 +206,7 @@ public class UI {
arrayNumbers.add(num); arrayNumbers.add(num);
System.out.println( 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<EFBFBD>chten, w<>hlen Sie (1). Wenn Sie die Eingabe beenden m<>chten (2).");
int election = Integer.parseInt(sc.nextLine()); int election = Integer.parseInt(sc.nextLine());
if (election == 1) { if (election == 1) {