Merged master. Added commands for sails in and out. Added logic to stop boat from moving when sails are out. Testing if the boat stops with sails out is blocked until command factory is merged. #story[1098]

main
Joseph 8 years ago
parent 41d09f587e
commit e23f20753d

@ -321,7 +321,7 @@ public class MockRace extends Race {
if (!finish && totalElapsedMilliseconds >= updatePeriodMilliseconds) {
if (boat.getCurrentSpeed() == 0) {
if (boat.getCurrentSpeed() == 0 && !boat.isSailsOut()) {
newOptimalVMG(boat);
boat.setBearing(boat.calculateBearingToNextMarker());
}

@ -19,6 +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);
default: return null; // TODO - please please have discussion over what to default to
}
}

@ -0,0 +1,19 @@
package mock.model.commandFactory;
import mock.model.MockBoat;
import mock.model.MockRace;
public class SailsInCommand implements Command {
private MockRace race;
private MockBoat boat;
public SailsInCommand(MockRace race, MockBoat boat) {
this.race = race;
this.boat = boat;
}
@Override
public void execute() {
this.boat.setSailsOut(false);
}
}

@ -0,0 +1,21 @@
package mock.model.commandFactory;
import mock.model.MockBoat;
import mock.model.MockRace;
public class SailsOutCommand implements Command {
private MockRace race;
private MockBoat boat;
public SailsOutCommand(MockRace race, MockBoat boat) {
this.race = race;
this.boat = boat;
}
@Override
public void execute() {
System.out.println("hi");
this.boat.setCurrentSpeed(0);
this.boat.setSailsOut(true);
}
}
Loading…
Cancel
Save