diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
new file mode 100644
index 00000000..5352bdf8
--- /dev/null
+++ b/.idea/codeStyleSettings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/racevisionGame/src/main/java/mock/model/MockBoat.java b/racevisionGame/src/main/java/mock/model/MockBoat.java
index 2874aa30..795e2675 100644
--- a/racevisionGame/src/main/java/mock/model/MockBoat.java
+++ b/racevisionGame/src/main/java/mock/model/MockBoat.java
@@ -28,7 +28,7 @@ public class MockBoat extends Boat {
* 1: passed only first check
* 2: passed first and second check
*/
- private Integer roundingStatus;
+ private Integer roundingStatus = 0;
diff --git a/racevisionGame/src/main/java/mock/model/MockRace.java b/racevisionGame/src/main/java/mock/model/MockRace.java
index 25997ebd..a3be5381 100644
--- a/racevisionGame/src/main/java/mock/model/MockRace.java
+++ b/racevisionGame/src/main/java/mock/model/MockRace.java
@@ -779,6 +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");
if (boat.isPortSide(boat.getCurrentLeg().getEndCompoundMark().getMark1()) &&
GPSCoordinate.intersects(boat.getCurrentLeg().getEndCompoundMark().getMark1().getPosition(),
roundingChecks.get(0), boat.getCurrentPosition())) {
@@ -786,6 +787,7 @@ public class MockRace extends Race {
}
break;
case 1://has been parallel to the mark
+ System.out.println("round 1");
if (boat.isPortSide(boat.getCurrentLeg().getEndCompoundMark().getMark1()) &&
GPSCoordinate.intersects(boat.getCurrentLeg().getEndCompoundMark().getMark1().getPosition(),
roundingChecks.get(1), boat.getCurrentPosition())) {
@@ -793,6 +795,7 @@ public class MockRace extends Race {
}
break;
case 2://has traveled 180 degrees around the mark
+ System.out.println("round 2");
//Move boat on to next leg.
boat.resetRoundingStatus();
Leg nextLeg = this.legs.get(boat.getCurrentLeg().getLegNumber() + 1);
diff --git a/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java b/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java
index a270056a..135cd988 100644
--- a/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java
+++ b/racevisionGame/src/main/java/shared/dataInput/RaceXMLReader.java
@@ -344,7 +344,8 @@ public class RaceXMLReader extends XMLReader implements RaceDataSource {
String legName = lastCompoundMark.getName();
//Sets the rounding type of this compound mark
- lastCompoundMark.setRoundingType(RoundingType.valueOf(cornerRounding));
+
+ lastCompoundMark.setRoundingType(RoundingType.getValueOf(cornerRounding));
//For each following corner, create a leg between cornerN and cornerN+1.
for(int i = 1; i < corners.getLength(); i++) {
diff --git a/racevisionGame/src/main/java/shared/enums/RoundingType.java b/racevisionGame/src/main/java/shared/enums/RoundingType.java
index eaba4e73..8f8e719a 100644
--- a/racevisionGame/src/main/java/shared/enums/RoundingType.java
+++ b/racevisionGame/src/main/java/shared/enums/RoundingType.java
@@ -31,4 +31,19 @@ public enum RoundingType {
* opposite of SP
*/
PS;
+
+ public static RoundingType getValueOf(String value) {
+ switch (value) {
+ case "Port":
+ return RoundingType.Port;
+ case "Starboard":
+ return RoundingType.Starboard;
+ case "SP":
+ return RoundingType.Port;
+ case "PS":
+ return RoundingType.Starboard;
+ default:
+ return null;
+ }
+ }
}
diff --git a/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml b/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml
index 83e36f85..e068e9b8 100644
--- a/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml
+++ b/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml
@@ -8,12 +8,12 @@
-
-
-
-
-
-
+
+
+
+
+
+