diff --git a/racevisionGame/src/main/java/mock/model/MockRace.java b/racevisionGame/src/main/java/mock/model/MockRace.java index 726e70a7..69da1ee0 100644 --- a/racevisionGame/src/main/java/mock/model/MockRace.java +++ b/racevisionGame/src/main/java/mock/model/MockRace.java @@ -482,7 +482,14 @@ public class MockRace extends Race { GPSCoordinate.passesLine(roundingMark.getPosition(), roundingChecks.get(0), boat.getCurrentPosition(), legBearing) && gateCheck && boat.isBetweenGate(roundingMark, Mark.tempMark(roundingChecks.get(0)))) { + System.out.println("0"); boat.increaseRoundingStatus(); + System.out.println(boat.getCurrentLeg().getLegNumber()); + System.out.println(legs.size()); + if (boat.getCurrentLeg().getLegNumber() + 2 >= legs.size()){ + //boat has finished race + boat.increaseRoundingStatus(); + } } break; case 1://has been parallel to the mark; @@ -492,6 +499,7 @@ public class MockRace extends Race { Bearing.fromDegrees(legBearing.degrees() - 90)) &&//negative 90 from bearing because of port rounding boat.isBetweenGate(roundingMark, Mark.tempMark(roundingChecks.get(1)))) { boat.increaseRoundingStatus(); + System.out.println("1"); } break; case 2://has traveled 180 degrees around the mark @@ -499,6 +507,7 @@ public class MockRace extends Race { boat.resetRoundingStatus(); Leg nextLeg = this.legs.get(boat.getCurrentLeg().getLegNumber() + 1); boat.setCurrentLeg(nextLeg); + System.out.println("2"); break; } } @@ -524,6 +533,10 @@ public class MockRace extends Race { gateCheck && boat.isBetweenGate(roundingMark, Mark.tempMark(roundingChecks.get(0)))) { boat.increaseRoundingStatus(); + if (boat.getCurrentLeg().getLegNumber() + 2 >= legs.size()){ + //boat has finished race + boat.increaseRoundingStatus(); + } } break; case 1://has been parallel to the mark