diff --git a/src/main/java/seng302/Model/BoatInRace.java b/src/main/java/seng302/Model/BoatInRace.java index efb83767..9317ae70 100644 --- a/src/main/java/seng302/Model/BoatInRace.java +++ b/src/main/java/seng302/Model/BoatInRace.java @@ -28,7 +28,7 @@ public class BoatInRace extends Boat { private boolean started = false; private StringProperty position; - private Queue track = new ConcurrentLinkedQueue(); + private Queue track = new ConcurrentLinkedQueue<>(); private long nextValidTime = 0; private final int TRACK_POINT_TIME_INTERVAL = 1000; // every 1 seconds private final int TRACK_POINT_LIMIT = 10; @@ -263,9 +263,6 @@ public class BoatInRace extends Boat { if (added && this.started) { nextValidTime = System.currentTimeMillis() + TRACK_POINT_TIME_INTERVAL; track.add(new TrackPoint(coordinate, System.currentTimeMillis(), TRACK_POINT_LIMIT*TRACK_POINT_TIME_INTERVAL)); - if (track.size() > TRACK_POINT_LIMIT) { - track.remove(); - } } return added; } diff --git a/src/main/java/seng302/Model/TrackPoint.java b/src/main/java/seng302/Model/TrackPoint.java index 0f0d0830..27ee25e2 100644 --- a/src/main/java/seng302/Model/TrackPoint.java +++ b/src/main/java/seng302/Model/TrackPoint.java @@ -9,11 +9,13 @@ public class TrackPoint { private GPSCoordinate coordinate; private long timeAdded; private long expiry; + private double minAlpha; public TrackPoint(GPSCoordinate coordinate, long timeAdded, long expiry) { this.coordinate = coordinate; this.timeAdded = timeAdded; this.expiry = expiry; + this.minAlpha = 0.1; } public GPSCoordinate getCoordinate() { @@ -21,6 +23,6 @@ public class TrackPoint { } public double getAlpha() { - return Double.max(0,1.0 - (double)(System.currentTimeMillis() - timeAdded)/expiry); + return Double.max(minAlpha,1.0 - (double)(System.currentTimeMillis() - timeAdded)/expiry); } }