diff --git a/src/main/java/seng302/Model/Race.java b/src/main/java/seng302/Model/Race.java index 364ea266..1f572755 100644 --- a/src/main/java/seng302/Model/Race.java +++ b/src/main/java/seng302/Model/Race.java @@ -11,6 +11,7 @@ import seng302.Controllers.RaceController; import seng302.GPSCoordinate; import java.util.ArrayList; +import java.util.Random; /** * Parent class for races @@ -171,6 +172,11 @@ public abstract class Race implements Runnable { Platform.runLater(() -> {controller.setFrames("FPS: " + fps);}); } + private boolean doNotFinish() { + Random rand = new Random(); + return rand.nextInt(100) < 1; + } + /** * Starts the Race Simulation, playing the race start to finish with the timescale. * This prints the boats participating, the order that the events occur in time order, and the respective information of the events. @@ -243,6 +249,10 @@ public abstract class Race implements Runnable { boatsFinished++; boat.setFinished(true); boat.setTimeFinished(timeElapsed); + } else if(doNotFinish()) { + boatsFinished++; + boat.setFinished(true); + boat.setCurrentLeg(new Leg("DNF",-1)); } else { boat.setDistanceTravelledInLeg(boat.getDistanceTravelledInLeg() - boat.getCurrentLeg().getDistance()); Leg nextLeg = legs.get(boat.getCurrentLeg().getLegNumber() + 1);