From d3a6b8203152fbb7219f3741529097d6b19aabdb Mon Sep 17 00:00:00 2001 From: Fan-Wu Yang Date: Fri, 22 Sep 2017 21:39:48 +1200 Subject: [PATCH] Commit before checking out developement --- .../visualiser/Controllers/RaceViewController.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 24145130..2e3aedf4 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -323,8 +323,19 @@ public class RaceViewController extends Controller { AnimationTimer sailsFollowBoat = new AnimationTimer() { @Override public void handle(long now) { + double windDir = visualiserRace.getVisualiserRaceState().getWindDirection().degrees(); + double windOffset = (360 - windDir + boat.getBearing().degrees()) % 360; + double sailDir = windOffset / 180 * 270 + windDir + 180; + boolean leftOfWind = windOffset >= 180; + if (leftOfWind){ + System.out.println("is left"); + sailDir = -sailDir; + } else { + System.out.println("is right"); + sailDir = windDir - sailDir; + } if (boat.isSailsOut()) { - sailsSubject.setHeading(visualiserRace.getVisualiserRaceState().getWindDirection().degrees() + 90); + sailsSubject.setHeading(sailDir); if (sails3D.isLuffing()) { sails3D.stopLuffing(); }