From 2c92102b2acb7e432c56e3275e6cfa16a3f37541 Mon Sep 17 00:00:00 2001 From: fjc40 Date: Fri, 15 Sep 2017 01:34:32 +1200 Subject: [PATCH] Changed GraphCoordinate to use double instead of int. This results in waaaaay smoother movement. Boats no longer jump around. --- .../main/java/visualiser/model/GraphCoordinate.java | 10 +++++----- .../java/visualiser/model/ResizableRaceCanvas.java | 4 ++-- .../src/main/java/visualiser/utils/GPSConverter.java | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/model/GraphCoordinate.java b/racevisionGame/src/main/java/visualiser/model/GraphCoordinate.java index a6a2132b..c7c18817 100644 --- a/racevisionGame/src/main/java/visualiser/model/GraphCoordinate.java +++ b/racevisionGame/src/main/java/visualiser/model/GraphCoordinate.java @@ -9,12 +9,12 @@ public class GraphCoordinate { /** * X (horizontal) coordinate. */ - private final int x; + private final double x; /** * Y (vertical) coordinate. */ - private final int y; + private final double y; /** * Constructor method. @@ -22,7 +22,7 @@ public class GraphCoordinate { * @param x X coordinate. * @param y Y coordinate. */ - public GraphCoordinate(int x, int y) { + public GraphCoordinate(double x, double y) { this.x = x; this.y = y; } @@ -33,7 +33,7 @@ public class GraphCoordinate { * * @return x axis Coordinate. */ - public int getX() { + public double getX() { return x; } @@ -42,7 +42,7 @@ public class GraphCoordinate { * * @return y axis Coordinate. */ - public int getY() { + public double getY() { return y; } diff --git a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java index cc485445..4fc39b30 100644 --- a/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java +++ b/racevisionGame/src/main/java/visualiser/model/ResizableRaceCanvas.java @@ -239,8 +239,8 @@ public class ResizableRaceCanvas extends ResizableCanvas { //Offset by 20 pixels horizontally. - long xCoord = coordinate.getX() + 20; - long yCoord = coordinate.getY(); + double xCoord = coordinate.getX() + 20; + double yCoord = coordinate.getY(); //If the text would extend out of the canvas (to the right), move it left. if (xCoord + (text.length() * 7) >= getWidth()) { diff --git a/racevisionGame/src/main/java/visualiser/utils/GPSConverter.java b/racevisionGame/src/main/java/visualiser/utils/GPSConverter.java index 542b043f..55db4f34 100644 --- a/racevisionGame/src/main/java/visualiser/utils/GPSConverter.java +++ b/racevisionGame/src/main/java/visualiser/utils/GPSConverter.java @@ -67,8 +67,8 @@ public class GPSConverter { //Calculate the x and y pixel coordinates. //We take the complement of latProportion to flip it. - int x = (int) (longProportion * smallerDimension); - int y = (int) (latProportion * smallerDimension); + double x = (longProportion * smallerDimension); + double y = (latProportion * smallerDimension); //Because we try to maintain the correct aspect ratio, we will end up with "spare" pixels along the larger dimension (e.g., width 800, height 600, 200 extra pixels along width). double extraDistance = Math.abs(longitudeFactor - latitudeFactor);