package inf112.fiasko.roborally.elementproperties; /** * This class represents an id for marking specific robots */ public enum RobotID { /** * The id of the first robot (white) */ ROBOT_1(1), /** * The id of the second robot (pink) */ ROBOT_2(2), /** * The id of the third robot (light green) */ ROBOT_3(3), /** * The id of the fourth robot (blue) */ ROBOT_4(4), /** * The id of the fifth robot (yellow) */ ROBOT_5(5), /** * The id of the sixth robot (dark green) */ ROBOT_6(6), /** * The id of the seventh robot (orange) */ ROBOT_7(7), /** * The id of the eight robot (red) */ ROBOT_8(8); private final int robotID; /** * Constructor to let a robotID be represented by a numerical identifier * * @param robotID The numerical identifier assigned to the robot ID */ RobotID(int robotID) { this.robotID = robotID; } /** * Gets a robot ID value from its numerical representation * * @param robotID The numerical representation of a robot id * @return The enum value representing the robot ID, or null if the id is invalid */ public static RobotID getRobotIDFromID(int robotID) { for (RobotID type : RobotID.values()) { if (type.robotID == robotID) { return type; } } return null; } /** * Gets the numerical id used for identification of a robot id * * @return The numerical id of the robot id */ public int getRobotIDID() { return this.robotID; } }