diff --git a/src/main/java/_9/_3/Ship.java b/src/main/java/_9/_3/Ship.java index ded1cc7..b163c64 100644 --- a/src/main/java/_9/_3/Ship.java +++ b/src/main/java/_9/_3/Ship.java @@ -38,7 +38,11 @@ public class Ship extends Observable { } public void turnLeft() { - heading = (heading - 90) % 180; + if (heading - 90 < 0) { + heading = 360 + ((heading - 90) % 360); + } else { + heading = (heading - 90) % 360; + } this.setChanged(); notifyObservers(ShipEvent.TURN_LEFT); } diff --git a/src/main/java/_9/_3/ShipLog.java b/src/main/java/_9/_3/ShipLog.java index 0e35c8f..2f91d0d 100644 --- a/src/main/java/_9/_3/ShipLog.java +++ b/src/main/java/_9/_3/ShipLog.java @@ -20,11 +20,15 @@ public class ShipLog implements Observer { System.out.println("Cannons fired."); break; case TURN_LEFT: - heading = (heading - 90) % 180; + if (heading - 90 < 0) { + heading = 360 + ((heading - 90) % 360); + } else { + heading = (heading - 90) % 360; + } System.out.println("Turned left. New heading " + heading + " degrees."); break; case TURN_RIGHT: - heading = (heading + 90) % 180; + heading = (heading + 90) % 360; System.out.println("Turned right. New heading " + heading + " degrees."); break; }