2023-01-07 16:41:56 +01:00
|
|
|
package tpe.exceptions.roboter;
|
|
|
|
|
2023-01-07 18:48:00 +01:00
|
|
|
import java.util.HashMap;
|
|
|
|
|
2023-01-07 16:41:56 +01:00
|
|
|
public class RobotFactory {
|
2023-01-07 18:48:00 +01:00
|
|
|
private Nexus6 nexus6=Nexus6.getInstance();
|
|
|
|
|
|
|
|
private HashMap<Integer,Robots> robotStock=new HashMap<>();
|
|
|
|
|
|
|
|
public int constructRobot(RobotType robotType, String name) {
|
|
|
|
Robots robot;
|
|
|
|
if(RobotType.R2D2==robotType) {
|
|
|
|
robot=new R2D2(name, checkID(0,9999));
|
|
|
|
robotStock.put(robot.getId(), robot);
|
|
|
|
return robot.getId();
|
|
|
|
}else if(RobotType.C3PO==robotType) {
|
|
|
|
robot=new C3PO(name, checkID());
|
|
|
|
robotStock.put(robot.getId(), robot);
|
|
|
|
return robot.getId();
|
|
|
|
}
|
|
|
|
}
|
2023-01-07 16:41:56 +01:00
|
|
|
|
2023-01-07 18:48:00 +01:00
|
|
|
private int checkID(int minValue, int maxValue) {
|
|
|
|
|
|
|
|
int randomID = (int) (Math.random()*(maxValue - minValue)) + minValue;
|
|
|
|
if(robotStock.containsKey(randomID))
|
|
|
|
{
|
|
|
|
checkID(minValue,maxValue);
|
|
|
|
}
|
|
|
|
return randomID;
|
|
|
|
}
|
2023-01-07 16:41:56 +01:00
|
|
|
}
|