diff --git a/src/main/java/seng302/Controllers/RaceController.java b/src/main/java/seng302/Controllers/RaceController.java index a4981583..fddea21e 100644 --- a/src/main/java/seng302/Controllers/RaceController.java +++ b/src/main/java/seng302/Controllers/RaceController.java @@ -22,6 +22,7 @@ import seng302.Model.ResizableRaceCanvas; import seng302.Model.*; import seng302.RaceMap; +import java.awt.event.ActionEvent; import java.awt.geom.Point2D; import java.net.URL; import java.util.ArrayList; @@ -86,10 +87,23 @@ public class RaceController extends Controller{ @FXML - public void startRace() { + public void startRace1Min() { + startRace(15); + } - BoatInRace[] boats = generateAC35Competitors(); + @FXML + public void startRace5Min() { + startRace(3); + } + @FXML + public void startRaceNoScaling() { + startRace(1); + } + + + private void startRace(int scaleFactor) { + BoatInRace[] boats = generateAC35Competitors(); raceMap = new ResizableRaceCanvas(); raceMap.widthProperty().bind(canvasBase.widthProperty()); raceMap.heightProperty().bind(canvasBase.heightProperty()); @@ -100,7 +114,7 @@ public class RaceController extends Controller{ startScreen.setVisible(false); ArrayList legs = generateBermudaCourseLegs(); - ConstantVelocityRace race = new ConstantVelocityRace(boats, legs, this); + ConstantVelocityRace race = new ConstantVelocityRace(boats, legs, this, scaleFactor); raceMap.setVisible(true); (new Thread(race)).start(); } diff --git a/src/main/java/seng302/Model/ConstantVelocityRace.java b/src/main/java/seng302/Model/ConstantVelocityRace.java index 900f81ed..731ca5e4 100644 --- a/src/main/java/seng302/Model/ConstantVelocityRace.java +++ b/src/main/java/seng302/Model/ConstantVelocityRace.java @@ -22,8 +22,9 @@ public class ConstantVelocityRace extends Race { * @see Leg */ - public ConstantVelocityRace(BoatInRace[] startingBoats, ArrayList marks, RaceController controller) { + public ConstantVelocityRace(BoatInRace[] startingBoats, ArrayList marks, RaceController controller, int scaleFactor) { super(startingBoats, marks, controller); + setScaleFactor(scaleFactor); } public ConstantVelocityRace(BoatInRace[] startingBoats, ArrayList marks) { diff --git a/src/main/resources/scenes/racepane.fxml b/src/main/resources/scenes/racepane.fxml index b233563d..2e627ee5 100644 --- a/src/main/resources/scenes/racepane.fxml +++ b/src/main/resources/scenes/racepane.fxml @@ -15,17 +15,26 @@