UI wurde fortgesetzt. In FactorySystem wurde die getFactoryName methode

hinzugefügt.
main
Drees 2023-01-09 07:59:01 +01:00
parent c1494b6dbc
commit 68deef36dc
2 changed files with 92 additions and 45 deletions

View File

@ -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) {
if (select == 1) {
int id = rf.constructRobot(RobotType.R2D2, name);
return id;
}
else
{
int id=rf.constructRobot(RobotType.C3PO, name);
} 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();
}
}

View File

@ -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<Integer> 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));
}
}