diff --git a/mock/src/main/java/seng302/Model/Event.java b/mock/src/main/java/seng302/Model/Event.java index 5f1facaf..4009500e 100644 --- a/mock/src/main/java/seng302/Model/Event.java +++ b/mock/src/main/java/seng302/Model/Event.java @@ -43,7 +43,7 @@ public class Event { System.out.println("Sending Boat"); sendBoatData(); - Race newRace = new Race(raceDataSource, 3, mockOutput); + Race newRace = new Race(raceDataSource, 15, mockOutput); new Thread((newRace)).start(); } diff --git a/mock/src/main/java/seng302/Model/Race.java b/mock/src/main/java/seng302/Model/Race.java index ed01c3ea..06bd387d 100644 --- a/mock/src/main/java/seng302/Model/Race.java +++ b/mock/src/main/java/seng302/Model/Race.java @@ -112,46 +112,40 @@ public class Race implements Runnable { long currentTime = System.currentTimeMillis(); long startTime = currentTime + (PRERACE_TIME / scaleFactor); long minutes; - long currentTimeInSeconds; - long remainingSeconds; long hours; long timeLeft; @Override public void handle(long arg0) { timeLeft = startTime - currentTime; + System.out.println(timeLeft); ArrayList boatStatusMessages = new ArrayList<>(); //For each boat, we update it's position, and generate a BoatLocationMessage. for (int i = 0; i < startingBoats.size(); i++) { Boat boat = startingBoats.get((i + boatOffset) % startingBoats.size()); if (boat != null) { - mockOutput.parseBoatLocation(boat.getSourceID(), boat.getCurrentPosition().getLatitude(), boat.getCurrentPosition().getLongitude(), boat.getHeading(), boat.getScaledVelocity()); + mockOutput.parseBoatLocation(boat.getSourceID(), boat.getCurrentPosition().getLatitude(), boat.getCurrentPosition().getLongitude(), boat.getHeading(), 0); boatStatusMessages.add(new BoatStatusMessage(boat.getSourceID(), boat.getCurrentLeg().getLegNumber() >= 0 ? BoatStatus.RACING : BoatStatus.DNF, boat.getCurrentLeg().getLegNumber())); } } boatOffset = (boatOffset + 1) % (startingBoats.size()); - - - if (timeLeft <= 60000/scaleFactor) { + if (timeLeft <= 60000/scaleFactor && timeLeft > 0) { RaceStatus raceStatus = new RaceStatus(System.currentTimeMillis(), raceId, 2, 2, boatStatusMessages); mockOutput.parseRaceStatus(raceStatus); } else if (timeLeft <= 0) { countdownFinish = true; - stop(); if (runRace) { simulateRace(); } - } else { + System.out.println("Stopping"); + stop(); + } + else { RaceStatus raceStatus = new RaceStatus(System.currentTimeMillis(), raceId, 1, 2, boatStatusMessages); mockOutput.parseRaceStatus(raceStatus); - currentTimeInSeconds = (timeLeft * scaleFactor) / 1000; - minutes = currentTimeInSeconds / 60; - remainingSeconds = currentTimeInSeconds % 60; - hours = minutes / 60; - minutes = minutes % 60; } currentTime = System.currentTimeMillis(); }