Pr_robot_factory/ui/UI.java

98 lines
3.0 KiB
Java
Raw Normal View History

2022-12-08 14:58:44 +01:00
package ui;
import facade.FactorySystem;
import infrastructure.Persistenz;
import java.sql.SQLOutput;
import java.util.Scanner;
2022-12-08 14:58:44 +01:00
public class UI {
2022-12-14 09:54:18 +01:00
private FactorySystem fs;
private String name;
Scanner sc = new Scanner(System.in);
public UI (FactorySystem fs){
this.fs = fs;
hauptmenü();
}
public UI (String name){
this.name = name;
if(Persistenz.existsSavedData(name)){
try{
this.fs = (FactorySystem) Persistenz.loadFactoryData(name);
}catch(Exception e){
}
}else{
this.fs = new FactorySystem(name);
}
}
2022-12-14 09:54:18 +01:00
private void hauptmenü() {
mainloop:
while(true){
System.out.println();
System.out.println("______________________");
System.out.println("Sie haben folgende optionen:");
System.out.println("-1- show all robots ----");
System.out.println("-2- build new robot ----");
System.out.println("-3- empty --------------");
System.out.println("-4- Exit ---------------");
System.out.print(" > ");
try{
int input = Integer.parseInt(sc.nextLine());
switch(input){
case 1:
listAllRobots();break;
case 2: buildNewRobot();break;
case 3: System.out.println("u pressed 3");break;
case 4: break mainloop;
default:
System.out.println("this is an invalid option"); break;
}
2022-12-14 09:54:18 +01:00
}catch(NumberFormatException e){
System.out.println("invalid input");
}
}
System.out.println("Good Bye");
}
private void listAllRobots(){
String[] listOfAll = fs.getAllRobots();
if(listOfAll.length > 0){
System.out.println("These robtos exist right now:");
for (String s: listOfAll) {
System.out.println(s);
}
}else{
System.out.println("There are no robots yet.");
}
}
private void buildNewRobot(){
System.out.println("What shall the name of the robot be?");
System.out.print(" > ");
String name = sc.nextLine();
System.out.println("Which type of robot do u want?");
System.out.println(" [0] for R2D2 and [1] for C3PO");
System.out.print(" > ");
int type = Integer.parseInt(sc.nextLine());
if(fs.buildNewRobot(name, type)){
switch(type){
case 0:
//Created new Robot of type R2D2 with the name
System.out.println("Created new Robot of type R2D2 with the name " + name );break;
case 1:
System.out.println("Created new Robot of type C3PO with the name " + name );break;
}
}else{
System.out.println("Anlegen des Roboters fehlgeschlagen");
}
}
2022-12-08 14:58:44 +01:00
}