diff --git a/Roboter/tpe/facade/FactorySystem.java b/Roboter/tpe/facade/FactorySystem.java index 219e3dd..54447be 100644 --- a/Roboter/tpe/facade/FactorySystem.java +++ b/Roboter/tpe/facade/FactorySystem.java @@ -9,56 +9,57 @@ import tpe.exceptions.roboter.RobotType; public class FactorySystem { private RobotFactory rf; RobotType robotType; - public FactorySystem(String factoryName) - { - this.rf=new RobotFactory(factoryName); + + public FactorySystem(String factoryName) { + this.rf = new RobotFactory(factoryName); } + public int constructRobot(int select, String name) { - if(select==1) { - int id = rf.constructRobot(RobotType.R2D2, name); - return id; - } - else - { - int id=rf.constructRobot(RobotType.C3PO, name); + if (select == 1) { + int id = rf.constructRobot(RobotType.R2D2, name); + return id; + } else { + int id = rf.constructRobot(RobotType.C3PO, name); return id; } } - public boolean triggerPower(int id) - { + + public boolean triggerPower(int id) { return rf.triggerPower(id); } - public boolean powerStatus(int id) - { + + public boolean powerStatus(int id) { return rf.powerStatus(id); } - public String robotInfo(int id) - { + + public String robotInfo(int id) { return rf.robotInfo(id); } - public String dismantleRobot(int id) - { - if(rf.dismantleRobot(id)==null) - { + + public String dismantleRobot(int id) { + if (rf.dismantleRobot(id) == null) { return "Roboter erfolgreich demontiert"; - } - else + } else return "Fehler beim Demontieren des Roboters"; } - public RobotException robotBlackbox(int id) - { - return rf.robotBlackbox(id); //Bei Rückgabe von null gab es noch keinen Fehler + + public RobotException robotBlackbox(int id) { + return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler } - public String robotInstructions(int id, int[]zahlen) throws RobotException - { + + public String robotInstructions(int id, int[] zahlen) throws RobotException { return rf.robotInstructions(id, zahlen); } - public int robotStockSize() - { + + public int robotStockSize() { return rf.robotStockSize(); } - public boolean containsRobot(int id) - { + + public boolean containsRobot(int id) { return rf.containsRobot(id); } + + public String getFName() { + return rf.getFactoryName(); + } } diff --git a/Roboter/tpe/ui/UI.java b/Roboter/tpe/ui/UI.java index 0a8f593..9beaf3b 100644 --- a/Roboter/tpe/ui/UI.java +++ b/Roboter/tpe/ui/UI.java @@ -1,20 +1,26 @@ package tpe.ui; +import java.util.ArrayList; import java.util.Scanner; import tpe.exceptions.roboter.RobotFactory; +import tpe.facade.FactorySystem; public class UI { + private FactorySystem fs; Scanner sc = new Scanner(System.in); -//hier fehlt noch die Verknüpfung zum Factorysystem +public UI (FactorySystem fs) { + this.fs = fs; + menu(); +} private void menu() { - System.out.println("Willkommen bei der " + "Name der Roboterfabrik" + "!"); + System.out.println("Willkommen bei der " + fs.getFName() + "!"); mainloop: while (true) { @@ -32,7 +38,7 @@ private void menu() { System.out.println(); switch(input) { - case 1: showRobots(); break; +// case 1: showRobots(); break; case 2: buildRobot(); break; case 3: choseRobot(); break; case 4: break mainloop; @@ -43,12 +49,12 @@ private void menu() { } } - private void showRobots() { - - System.out.println("Folgende Roboter wurden bereits erstellt: "); - - // Seriennummer, Typ und Name aller Roboter soll aufgelistet werden - } +// 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. " @@ -67,7 +73,7 @@ private void menu() { 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.) + int serialnumber = fs.constructRobot( robotType, name); System.out.println("Sie haben einen Roboter vom Typ " + robotType + " mit dem Namen " + name + " mit der Seriennummer " + serialnumber + " erstellt."); } @@ -80,6 +86,10 @@ private void menu() { int id = Integer.parseInt(sc.nextLine()); System.out.println(); +// if (id ist nicht vorhanden ) +// System.out.println("Es exisitiert kein Roboter mit der Seriennummer " + id " ."); +// else + loop: while (true) { System.out.println("Was möchten Sie mit Ihrem Roboter tun?"); @@ -108,7 +118,7 @@ private void menu() { } private void robotStatus(int id) { - boolean status = RobotFactory.powerStatus(id); + boolean status = fs.powerStatus(id); if (status == true) System.out.println("Der Roboter ist angeschaltet."); else @@ -116,7 +126,7 @@ private void menu() { } private void onoffbutton(int id) { - boolean status = RobotFactory.triggerPower(id); + boolean status = fs.triggerPower(id); if (status == true) System.out.println("Der Roboter wurde eingeschaltet."); else @@ -125,16 +135,52 @@ private void menu() { private void robotSpeak(int id) { + ArrayList arrayNumbers = new ArrayList<>(); + boolean next = true; + + + System.out.println("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()); + arrayNumbers.add(num); + + int i = 2; + while (next) { + + System.out.println("Geben Sie die " + i + ". Zahl Ihrer Folge ein." ); + int numNext = Integer.parseInt(sc.nextLine()); + + System.out.println("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) { + i++; + next = true; + } + else { + next = false; + int [] numbers = arrayNumbers.stream().mapToInt(j -> j).toArray(); + + String output; +// try { +// output = fs. hier muss noch eine Verknüpfung zur sprechmethode in Factory System rein +// } + } + + } + + } private void lastError(int id) { + System.out.println(fs.robotBlackbox(id)); } private void robotData(int id) { - - + System.out.println(fs.robotInfo(id)); } }