2022-12-08 14:58:44 +01:00
|
|
|
package domain;
|
|
|
|
|
2022-12-14 10:18:36 +01:00
|
|
|
|
2023-01-02 19:51:04 +01:00
|
|
|
import safety.robot_exceptions.ExceptionStorage;
|
|
|
|
import safety.robot_exceptions.RobotException;
|
|
|
|
import safety.robot_exceptions.robotExceptions;
|
2022-12-14 09:54:18 +01:00
|
|
|
|
2023-01-03 01:18:57 +01:00
|
|
|
import java.io.Serializable;
|
|
|
|
|
|
|
|
public class R2D2 extends Robot {
|
2022-12-08 23:34:47 +01:00
|
|
|
/**
|
2022-12-20 12:03:41 +01:00
|
|
|
*
|
|
|
|
* @param id> int
|
|
|
|
* @param name> String
|
2022-12-08 23:34:47 +01:00
|
|
|
*/
|
2022-12-08 23:13:22 +01:00
|
|
|
public R2D2(int id, String name){
|
2023-01-03 01:18:57 +01:00
|
|
|
super(id, name, "R2D2");
|
2022-12-08 23:13:22 +01:00
|
|
|
}
|
2022-12-08 23:34:47 +01:00
|
|
|
|
2022-12-20 12:03:41 +01:00
|
|
|
|
2022-12-25 19:57:20 +01:00
|
|
|
|
|
|
|
/**
|
2023-01-02 19:51:04 +01:00
|
|
|
* @see safety.interfaces.RobotInstructions
|
2022-12-25 19:57:20 +01:00
|
|
|
*/
|
2022-12-21 16:44:49 +01:00
|
|
|
public int[] think(int[] input) throws RobotException {
|
2022-12-14 10:18:36 +01:00
|
|
|
if(isPowerOn()){
|
2022-12-21 16:44:49 +01:00
|
|
|
return selectionSort(input);
|
2022-12-14 09:54:18 +01:00
|
|
|
}else{
|
2022-12-25 19:57:20 +01:00
|
|
|
RobotException robotexception = new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
|
|
|
this.exceptions = new ExceptionStorage(robotexception);
|
|
|
|
throw robotexception;
|
2022-12-14 09:54:18 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-12-14 11:08:49 +01:00
|
|
|
/**
|
2023-01-02 19:51:04 +01:00
|
|
|
* @see safety.interfaces.RobotInstructions
|
2022-12-14 11:08:49 +01:00
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
public String speak(int[] input) throws RobotException {
|
2022-12-20 12:03:41 +01:00
|
|
|
if (isPowerOn()) {
|
2022-12-21 16:44:49 +01:00
|
|
|
return ausgabe(input, ";");
|
2022-12-20 12:03:41 +01:00
|
|
|
} else {
|
2022-12-25 19:57:20 +01:00
|
|
|
RobotException robotexception = new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
|
|
|
this.exceptions = new ExceptionStorage(robotexception);
|
|
|
|
throw robotexception;
|
2022-12-14 11:08:49 +01:00
|
|
|
}
|
|
|
|
}
|
2022-12-14 10:18:36 +01:00
|
|
|
}
|