You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
55 lines
1.2 KiB
package mock.model;
|
|
|
|
|
|
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.
|
|
*/
|
|
public class ConstantWindGenerator implements WindGenerator {
|
|
|
|
/**
|
|
* The bearing the wind direction starts at.
|
|
*/
|
|
private Bearing windBaselineBearing;
|
|
|
|
|
|
/**
|
|
* The speed the wind starts at, in knots.
|
|
*/
|
|
private double windBaselineSpeed;
|
|
|
|
|
|
|
|
/**
|
|
* Creates a constant wind generator, with a baseline wind speed and direction.
|
|
* @param windBaselineBearing Baseline wind direction.
|
|
* @param windBaselineSpeed Baseline wind speed, in knots.
|
|
*/
|
|
public ConstantWindGenerator(Bearing windBaselineBearing, double windBaselineSpeed) {
|
|
|
|
this.windBaselineBearing = windBaselineBearing;
|
|
this.windBaselineSpeed = windBaselineSpeed;
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
public Wind generateBaselineWind() {
|
|
return new Wind(windBaselineBearing, windBaselineSpeed);
|
|
}
|
|
|
|
|
|
@Override
|
|
public Wind generateNextWind(Wind currentWind) {
|
|
|
|
return generateBaselineWind();
|
|
|
|
}
|
|
|
|
}
|