2022-12-08 14:58:44 +01:00
|
|
|
package ui;
|
|
|
|
|
2023-01-03 01:18:57 +01:00
|
|
|
import facade.FactorySystem;
|
2023-01-02 19:51:04 +01:00
|
|
|
import infrastructure.Persistenz;
|
|
|
|
|
2023-01-03 01:18:57 +01:00
|
|
|
import java.sql.SQLOutput;
|
2023-01-02 19:51:04 +01:00
|
|
|
import java.util.Scanner;
|
|
|
|
|
2022-12-08 14:58:44 +01:00
|
|
|
public class UI {
|
2022-12-14 09:54:18 +01:00
|
|
|
|
2023-01-03 01:18:57 +01:00
|
|
|
private FactorySystem fs;
|
2023-01-02 19:51:04 +01:00
|
|
|
private String name;
|
|
|
|
|
|
|
|
Scanner sc = new Scanner(System.in);
|
2023-01-03 01:18:57 +01:00
|
|
|
public UI (FactorySystem fs){
|
|
|
|
this.fs = fs;
|
2023-01-02 19:51:04 +01:00
|
|
|
hauptmenü();
|
|
|
|
|
|
|
|
}
|
|
|
|
public UI (String name){
|
|
|
|
this.name = name;
|
|
|
|
if(Persistenz.existsSavedData(name)){
|
|
|
|
try{
|
2023-01-03 01:18:57 +01:00
|
|
|
this.fs = (FactorySystem) Persistenz.loadFactoryData(name);
|
2023-01-02 19:51:04 +01:00
|
|
|
}catch(Exception e){
|
|
|
|
|
|
|
|
}
|
|
|
|
}else{
|
2023-01-03 01:18:57 +01:00
|
|
|
this.fs = new FactorySystem(name);
|
2023-01-02 19:51:04 +01:00
|
|
|
}
|
|
|
|
}
|
2022-12-14 09:54:18 +01:00
|
|
|
|
2023-01-03 01:18:57 +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
|
|
|
|
2023-01-03 01:18:57 +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");
|
|
|
|
}
|
2023-01-02 19:51:04 +01:00
|
|
|
}
|
2022-12-08 14:58:44 +01:00
|
|
|
}
|