From 12b6f49f2e38a7501c036406841cd29984ad8993 Mon Sep 17 00:00:00 2001 From: hba56 Date: Mon, 15 May 2017 15:21:45 +1200 Subject: [PATCH] boats now bounce on the boundry #pair[hba56, cbt24, jjg64] #story[873] --- mock/src/main/java/seng302/Model/Race.java | 18 ++++++++---------- mock/src/main/java/seng302/Model/VMG.java | 4 ++++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/mock/src/main/java/seng302/Model/Race.java b/mock/src/main/java/seng302/Model/Race.java index 890293cf..b795769b 100644 --- a/mock/src/main/java/seng302/Model/Race.java +++ b/mock/src/main/java/seng302/Model/Race.java @@ -49,9 +49,9 @@ public class Race implements Runnable { private List boundary; ///Wind direction bearing. - private double windDirection = 0; + private double windDirection; ///Wind speed (knots). Convert this to millimeters per second before passing to RaceStatus. - private double windSpeed = 0; + private double windSpeed; /** @@ -315,6 +315,8 @@ public class Race implements Runnable { boolean finish = boat.getCurrentLeg().getName().equals("Finish"); if (!finish) { + + double totalDistanceTravelledInTack = distanceTravelled + boat.getDistanceTravelledInTack(); double bound1 = (boat.calculateBearingToDestination() - 90) % 360; @@ -343,14 +345,10 @@ public class Race implements Runnable { VMG newHeading = boat.getPolars().calculateVMG(this.windDirection, this.windSpeed, boat.calculateBearingToDestination(), bound1, bound2); - -// if (!GPSCoordinate.isInsideBoundary(calculatePosition(boat.getCurrentPosition(), -// 1, azimuth), boundary)){ -// System.out.println("LDFSGSDFG"); -// double tempHeading = (newHeading.bearing+90)%360; -// newHeading.bearing = tempHeading; -// } - + if (!GPSCoordinate.isInsideBoundary(boat.getCurrentPosition(), boundary)){ + double tempHeading = (newHeading.getBearing() - this.windDirection +90)%360; + newHeading.setBearing(tempHeading); + } //Is this new VMG better than the current VMG? diff --git a/mock/src/main/java/seng302/Model/VMG.java b/mock/src/main/java/seng302/Model/VMG.java index 3ff1acb8..9c1c643a 100644 --- a/mock/src/main/java/seng302/Model/VMG.java +++ b/mock/src/main/java/seng302/Model/VMG.java @@ -42,4 +42,8 @@ public class VMG { public double getBearing() { return bearing; } + + public void setBearing(double bearing) { + this.bearing = bearing; + } }