Pr_robot_factory/ui/UI.java

116 lines
3.5 KiB
Java

package ui;
import domain.C3PO;
import domain.Nexus6;
import domain.R2D2;
import domain.Robot;
import facade.FactorySystem;
import infrastructure.Persistenz;
import java.sql.SQLOutput;
import java.util.Scanner;
public class UI {
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);
}
}
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- ------- use robot ------");
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: useRobot();break;
case 4: break mainloop;
default:
System.out.println("this is an invalid option"); break;
}
}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");
}
}
private void useRobot(){
System.out.println("Which robot do you want to use?");
listAllRobots();
System.out.print(" ID > ");
int input = Integer.parseInt(sc.nextLine());
Robot r = fs.searchForRobot(input);
System.out.println("You choose " + r.getName() + " of type " + r.getType());
System.out.println("Yout have following options");
mainloop:
while(true){
}
}
}