diff --git a/racevisionGame/src/main/java/mock/model/MockRace.java b/racevisionGame/src/main/java/mock/model/MockRace.java index 4672278d..48c55958 100644 --- a/racevisionGame/src/main/java/mock/model/MockRace.java +++ b/racevisionGame/src/main/java/mock/model/MockRace.java @@ -319,9 +319,9 @@ public class MockRace extends Race { //Checks if the current boat has finished the race or not. boolean finish = this.isLastLeg(boat.getCurrentLeg()); - if (!finish && totalElapsedMilliseconds >= updatePeriodMilliseconds) { + if (!finish && totalElapsedMilliseconds >= updatePeriodMilliseconds && !boat.isSailsOut()) { - if (boat.getCurrentSpeed() == 0 && !boat.isSailsOut()) { + if (boat.getCurrentSpeed() == 0) { newOptimalVMG(boat); boat.setBearing(boat.calculateBearingToNextMarker()); } @@ -342,10 +342,12 @@ public class MockRace extends Race { if (boat.isAutoVMG()) { newOptimalVMG(boat); } - - this.updateEstimatedTime(boat); + } else { + boat.setCurrentSpeed(0); } + this.updateEstimatedTime(boat); + } private void newOptimalVMG(MockBoat boat) { diff --git a/racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java b/racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java index 003c590e..3cdb1085 100644 --- a/racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java +++ b/racevisionGame/src/main/java/mock/model/commandFactory/CommandFactory.java @@ -19,8 +19,8 @@ public class CommandFactory { switch(action) { case AUTO_PILOT: return new VMGCommand(race, boat); case TACK_GYBE: return new TackGybeCommand(race, boat); - case SAILS_IN: return new TackGybeCommand(race, boat); - case SAILS_OUT: return new TackGybeCommand(race, boat); + case SAILS_IN: return new SailsInCommand(race, boat); + case SAILS_OUT: return new SailsOutCommand(race, boat); default: return null; // TODO - please please have discussion over what to default to } } diff --git a/racevisionGame/src/main/java/mock/model/commandFactory/SailsInCommand.java b/racevisionGame/src/main/java/mock/model/commandFactory/SailsInCommand.java index 551682c3..2fc6a311 100644 --- a/racevisionGame/src/main/java/mock/model/commandFactory/SailsInCommand.java +++ b/racevisionGame/src/main/java/mock/model/commandFactory/SailsInCommand.java @@ -15,5 +15,6 @@ public class SailsInCommand implements Command { @Override public void execute() { this.boat.setSailsOut(false); + System.out.println("hi"); } } diff --git a/racevisionGame/src/main/java/mock/model/commandFactory/SailsOutCommand.java b/racevisionGame/src/main/java/mock/model/commandFactory/SailsOutCommand.java index 32486b9d..79e3648b 100644 --- a/racevisionGame/src/main/java/mock/model/commandFactory/SailsOutCommand.java +++ b/racevisionGame/src/main/java/mock/model/commandFactory/SailsOutCommand.java @@ -14,8 +14,7 @@ public class SailsOutCommand implements Command { @Override public void execute() { - System.out.println("hi"); - this.boat.setCurrentSpeed(0); this.boat.setSailsOut(true); + System.out.println("hi2"); } }