|
|
|
|
@ -779,7 +779,7 @@ public class MockRace extends Race {
|
|
|
|
|
//boats must pass all checks in order to round a mark
|
|
|
|
|
switch (boat.getRoundingStatus()) {
|
|
|
|
|
case 0://hasn't started rounding
|
|
|
|
|
System.out.println("round 0");
|
|
|
|
|
// System.out.println("round 0");
|
|
|
|
|
if (boat.isPortSide(boat.getCurrentLeg().getEndCompoundMark().getMark1()) &&
|
|
|
|
|
GPSCoordinate.intersects(boat.getCurrentLeg().getEndCompoundMark().getMark1().getPosition(),
|
|
|
|
|
roundingChecks.get(0), boat.getCurrentPosition())) {
|
|
|
|
|
@ -787,7 +787,7 @@ public class MockRace extends Race {
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 1://has been parallel to the mark
|
|
|
|
|
System.out.println("round 1");
|
|
|
|
|
// System.out.println("round 1");
|
|
|
|
|
if (boat.isPortSide(boat.getCurrentLeg().getEndCompoundMark().getMark1()) &&
|
|
|
|
|
GPSCoordinate.intersects(boat.getCurrentLeg().getEndCompoundMark().getMark1().getPosition(),
|
|
|
|
|
roundingChecks.get(1), boat.getCurrentPosition())) {
|
|
|
|
|
@ -795,7 +795,7 @@ public class MockRace extends Race {
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 2://has traveled 180 degrees around the mark
|
|
|
|
|
System.out.println("round 2");
|
|
|
|
|
// System.out.println("round 2");
|
|
|
|
|
//Move boat on to next leg.
|
|
|
|
|
boat.resetRoundingStatus();
|
|
|
|
|
Leg nextLeg = this.legs.get(boat.getCurrentLeg().getLegNumber() + 1);
|
|
|
|
|
@ -840,7 +840,7 @@ public class MockRace extends Race {
|
|
|
|
|
* @param boat The boat to check.
|
|
|
|
|
* @param timeElapsed The total time, in milliseconds, that has elapsed since the race started.
|
|
|
|
|
*/
|
|
|
|
|
protected void checkPosition(MockBoat boat, long timeElapsed) {//TODO cater for gates (SP or PS in the switch)
|
|
|
|
|
protected void checkPosition(MockBoat boat, long timeElapsed) {
|
|
|
|
|
|
|
|
|
|
//The distance, in nautical miles, within which the boat needs to get in order to consider that it has reached the marker.
|
|
|
|
|
double epsilonNauticalMiles = 250.0 / Constants.NMToMetersConversion; //250 meters.
|
|
|
|
|
@ -864,7 +864,7 @@ public class MockRace extends Race {
|
|
|
|
|
|
|
|
|
|
List<GPSCoordinate> roundingChecks = new ArrayList<GPSCoordinate>(Arrays.asList(roundCheck1, roundCheck2));
|
|
|
|
|
|
|
|
|
|
switch (boat.getCurrentLeg().getEndCompoundMark().getRoundingType()) {//todo may need to implement SP and PS
|
|
|
|
|
switch (boat.getCurrentLeg().getEndCompoundMark().getRoundingType()) {
|
|
|
|
|
case SP://Not yet implemented so these gates will be rounded port side
|
|
|
|
|
case Port:
|
|
|
|
|
boatRoundingCheckPort(boat, roundingChecks);
|
|
|
|
|
|