Class for shifting wind. #story[1187]
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
package mock.model;
|
||||
|
||||
import javafx.animation.AnimationTimer;
|
||||
import mock.xml.*;
|
||||
import network.Messages.BoatLocation;
|
||||
import network.Messages.BoatStatus;
|
||||
import mock.model.wind.WindGenerator;
|
||||
import network.Messages.Enums.BoatStatusEnum;
|
||||
import network.Messages.Enums.RaceStatusEnum;
|
||||
import shared.dataInput.BoatDataSource;
|
||||
|
||||
+1
-3
@@ -1,11 +1,9 @@
|
||||
package mock.model;
|
||||
package mock.model.wind;
|
||||
|
||||
|
||||
import shared.model.Bearing;
|
||||
import shared.model.Wind;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* This class generates Wind objects for use in a MockRace.
|
||||
* Initialised with a baseline wind speed and direction, and keeps it constant.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package mock.model;
|
||||
package mock.model.wind;
|
||||
|
||||
|
||||
import shared.model.Bearing;
|
||||
@@ -0,0 +1,51 @@
|
||||
package mock.model.wind;
|
||||
|
||||
import shared.model.Bearing;
|
||||
import shared.model.Wind;
|
||||
|
||||
/**
|
||||
* Created by jjg64 on 28/08/17.
|
||||
*/
|
||||
public class ShiftingWindGenerator implements WindGenerator {
|
||||
Bearing baselineBearing;
|
||||
double baseLineSpeed;
|
||||
double maxBearingVariance = 5; // In degrees
|
||||
double oscillationPeriod = 3e6; // In milliseconds
|
||||
|
||||
public ShiftingWindGenerator(Bearing baselineBearing, double baseLineSpeed) {
|
||||
this.baselineBearing = baselineBearing;
|
||||
this.baseLineSpeed = baseLineSpeed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Wind generateBaselineWind() {
|
||||
return new Wind(baselineBearing, baseLineSpeed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Wind generateNextWind(Wind currentWind) {
|
||||
return changeWind(currentWind);
|
||||
}
|
||||
|
||||
private Wind changeWind(Wind currentWind) {
|
||||
currentWind = oscillateWind(currentWind);
|
||||
currentWind = shiftWind(currentWind);
|
||||
return currentWind;
|
||||
}
|
||||
|
||||
private Wind oscillateWind(Wind currentWind) {
|
||||
return currentWind;
|
||||
}
|
||||
|
||||
private Wind shiftWind(Wind currentWind) {
|
||||
return currentWind;
|
||||
}
|
||||
|
||||
public void setMaxBearingVariance(double maxBearingVariance) {
|
||||
this.maxBearingVariance = maxBearingVariance;
|
||||
}
|
||||
|
||||
public void setOscillationPeriod(double oscillationPeriod) {
|
||||
this.oscillationPeriod = oscillationPeriod;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package mock.model;
|
||||
package mock.model.wind;
|
||||
|
||||
import shared.model.Wind;
|
||||
|
||||
Reference in New Issue
Block a user