Legger til korrekt behandling av interrupt

This commit is contained in:
Kristian Knarvik 2020-02-26 08:10:46 +01:00
parent 8e60e1558e
commit d2575b7a0c

View File

@ -29,7 +29,7 @@ public class Game implements IDrawableGame {
try { try {
runGameLoop(); runGameLoop();
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); Thread.currentThread().interrupt();
} }
}).start(); }).start();
} catch (IOException e) { } catch (IOException e) {
@ -42,43 +42,48 @@ public class Game implements IDrawableGame {
* @throws InterruptedException If interrupted while trying to sleep * @throws InterruptedException If interrupted while trying to sleep
*/ */
private void runGameLoop() throws InterruptedException { private void runGameLoop() throws InterruptedException {
long cycleDelay = 600;
TimeUnit.SECONDS.sleep(3); TimeUnit.SECONDS.sleep(3);
gameBoard.rotateRobotRight(RobotID.ROBOT_1); gameBoard.rotateRobotRight(RobotID.ROBOT_1);
TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_1); gameBoard.rotateRobotRight(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_1); gameBoard.moveRobotForward(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotLeft(RobotID.ROBOT_1); gameBoard.rotateRobotLeft(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_1); gameBoard.moveRobotForward(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_1); gameBoard.moveRobotForward(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_1); gameBoard.rotateRobotRight(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_1); gameBoard.moveRobotForward(RobotID.ROBOT_1);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.rotateRobotRight(RobotID.ROBOT_2); gameBoard.rotateRobotRight(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
TimeUnit.SECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(cycleDelay);
gameBoard.moveRobotForward(RobotID.ROBOT_2); gameBoard.moveRobotForward(RobotID.ROBOT_2);
} }