Boat race finishes when all boats have crossed the line

- Added a boolean flag 'finished' to BoatInRace

#implement #story[9]
main
Erika Savell 9 years ago
parent fda1e0ed61
commit d0d4316bac

@ -17,6 +17,7 @@ public class BoatInRace extends Boat {
private GPSCoordinate currentPosition;
private long timeFinished;
private Color colour;
private boolean finished = false;
/**
*
@ -112,6 +113,14 @@ public class BoatInRace extends Boat {
this.distanceTravelledInLeg = distanceTravelledInLeg;
}
public boolean isFinished() {
return this.finished;
}
public void setFinished(boolean bool) {
this.finished = bool;
}
/**
* Calculates the bearing of the travel via map coordinates of the raceMarkers

@ -95,7 +95,7 @@ public abstract class Race implements Runnable {
System.out.println(minutes + ":" + remainingSeconds);
for (BoatInRace boat : startingBoats) {
if (boat != null) {
if (boat != null && !boat.isFinished()) {
updatePosition(boat, SLEEP_TIME);
checkPosition(boat, totalTimeElapsed);
}
@ -123,8 +123,8 @@ public abstract class Race implements Runnable {
//boat has passed onto new leg
if (boat.getCurrentLeg().getName().equals("Finish")) {
//boat has finished
boat.setTimeFinished(timeElapsed);
boatsFinished++;
boat.setFinished(true);
} else {
boat.setDistanceTravelledInLeg(boat.getDistanceTravelledInLeg() - boat.getCurrentLeg().getDistance());
Leg nextLeg = legs.get(boat.getCurrentLeg().getLegNumber() + 1);

@ -164,7 +164,7 @@ public class ResizableRaceCanvas extends Canvas {
if (boats != null) {
for (BoatInRace boat : boats) {
if (boat != null) {
System.out.print("Drawing Boat At: " + boat.getCurrentPosition());
// System.out.print("Drawing Boat At: " + boat.getCurrentPosition());
displayMark(this.map.convertGPS(boat.getCurrentPosition()), boat.getColour());
}
}
@ -183,7 +183,7 @@ public class ResizableRaceCanvas extends Canvas {
*/
public void drawBoat(Color colour, GPSCoordinate gpsCoordinates) {
GraphCoordinate graphCoordinate = this.map.convertGPS(gpsCoordinates);
System.out.println("DrawingBoat" + gpsCoordinates.getLongitude());
//System.out.println("DrawingBoat" + gpsCoordinates.getLongitude());
displayPoint(graphCoordinate, colour);
}

Loading…
Cancel
Save