package tpe.exceptions.roboter; import java.util.HashMap; public class RobotFactory { private Nexus6 nexus6=Nexus6.getInstance(); private HashMap robotStock=new HashMap<>(); public int constructRobot(RobotType robotType, String name) { Robots robot; if(RobotType.R2D2==robotType) { robot=new R2D2(name, createIDR2D2(0,9999)); robotStock.put(robot.getId(), robot); return robot.getId(); }else if(RobotType.C3PO==robotType) { robot=new C3PO(name, createIDC3PO(10000, 19999)); robotStock.put(robot.getId(), robot); return robot.getId(); } } private int createIDR2D2(int minValue, int maxValue) { int randomID = (int) (Math.random()*(maxValue)) ; if(robotStock.containsKey(randomID)) { createIDR2D2(minValue,maxValue); } return randomID; } private int createIDC3PO(int minValue, int maxValue) { int randomID = (int) (Math.random()*(maxValue))+minValue ; if(robotStock.containsKey(randomID)) { createIDC3PO(minValue,maxValue); } return randomID; } }