Weitere Methoden in Factory, Factorysystem, RobotFactory. Main erstellt!

master
Milan Lukic 2023-01-05 21:07:01 +01:00
parent 04c6dc90f1
commit eeda064427
5 changed files with 93 additions and 16 deletions

View File

@ -5,10 +5,10 @@ import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
import tpe.exceptions.roboter.exceptions.RobotMagicValueException; import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
public class C3PO extends Roboter { public class C3PO extends Roboter {
String name; private String name;
int id; private int id;
//static int idZähler = 10000; //static int idZähler = 10000;
RobotType robotType; private RobotType robotType;
RobotException fehler; RobotException fehler;
public C3PO(String name, int id) { public C3PO(String name, int id) {

View File

@ -44,4 +44,16 @@ public RobotFactory (String name) {
return randomValue; return randomValue;
} }
public boolean roboterZustand(int id) {
Roboter r = findeRoboter(id);
boolean zustand = r.isPowerOn();
return zustand;
}
public boolean schalterAnAus(int id){
Roboter r = findeRoboter(id);
r.triggerPowerSwitch();
boolean zustand = r.isPowerOn();
return zustand;
}
} }

View File

@ -31,5 +31,13 @@ public class Factorysystem {
} }
public boolean zustandRoboter (int id) {
return robotFactory.roboterZustand(id);
}
public boolean schalterBetätigen(int id) {
return robotFactory.schalterAnAus(id);
}
} }

View File

@ -0,0 +1,13 @@
package main;
import facade.Factorysystem;
import ui.Factory;
public class Main {
public static void main(String[] args) {
Factorysystem fs = new Factorysystem ("Robot Fabrik");
Factory ui = new Factory (fs);
}
}

View File

@ -6,13 +6,10 @@ import Domäne.C3PO;
import Domäne.R2D2; import Domäne.R2D2;
import facade.Factorysystem; import facade.Factorysystem;
public class Factory { public class Factory {
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
private Factorysystem factorysystem; private Factorysystem factorysystem;
public Factory(Factorysystem factorysystem) { public Factory(Factorysystem factorysystem) {
this.factorysystem = factorysystem; this.factorysystem = factorysystem;
hauptmenü(); hauptmenü();
@ -26,6 +23,7 @@ public class Factory {
System.out.println("Factory Hauptmenü"); System.out.println("Factory Hauptmenü");
System.out.println("0 -> Alle Roboter anzeigen"); System.out.println("0 -> Alle Roboter anzeigen");
System.out.println("1 -> Roboter bauen"); System.out.println("1 -> Roboter bauen");
System.out.println("2 -> Roboter auswählen");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -37,8 +35,13 @@ public class Factory {
switch (input) { switch (input) {
case 0: case 0:
roboterAnzeigen(); roboterAnzeigen();
break;
case 1: case 1:
roboterBauen(); roboterBauen();
break;
case 2:
roboterAuswählen();
break;
case 9: case 9:
break mainloop; break mainloop;
} }
@ -63,16 +66,57 @@ public class Factory {
System.out.println("Wie wollen Sie ihren Roboter nennen?"); System.out.println("Wie wollen Sie ihren Roboter nennen?");
String name = sc.nextLine(); String name = sc.nextLine();
int seriennummer = factorysystem.roboterAnlegen(name, auswahl); int seriennummer = factorysystem.roboterAnlegen(name, auswahl);
System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt."); System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt.");
} }
private void roboterAuswählen() {
System.out.println("Geben Sie bitte die Seriennummer ein: ");
int id = Integer.parseInt(sc.nextLine());
loop: while (true) {
System.out.println("Wählen Sie eine Aktion aus!");
System.out.println("1 -> Zustand abfragen");
System.out.println("2 -> AN/AUS machen");
System.out.println("9 -> Zurück ins Hauptmenü");
System.out.print("> ");
int input = Integer.parseInt(sc.nextLine());
try {
switch (input) {
case 1:
zustandAbfragen(id);
break;
case 2:
schalterBetätigen(id);
break;
case 9:
break loop;
}
} catch (Exception e) {
}
}
}
private void zustandAbfragen(int id) {
boolean zustand = factorysystem.zustandRoboter(id);
if (zustand == true) {
System.out.println("Der Roboter ist an!");
} else if (zustand == false) {
System.out.println("Der Roboter ist aus!");
}
}
private void schalterBetätigen(int id) {
boolean zustand = factorysystem.schalterBetätigen(id);
if (zustand == true) {
System.out.println("Der Roboter wurde eingeschaltet!");
} else if (zustand == false) {
System.out.println("Der Roboter wurde abgeschaltet!");
}
}
} }