From 293f63ca8bcc8c7f1006d8d36160c43c07098c27 Mon Sep 17 00:00:00 2001 From: David Wu Date: Mon, 20 Mar 2017 17:08:25 +1300 Subject: [PATCH 1/2] Added abbreviations to each boat -BoatInRace now takes extra parameter "abbrev" #story [18] --- src/main/java/seng302/Constants.java | 12 ++++++------ src/main/java/seng302/Model/Boat.java | 6 +++++- src/main/java/seng302/Model/BoatInRace.java | 4 ++-- src/main/java/seng302/Model/Race.java | 2 +- src/main/java/seng302/Model/ResizableRaceCanvas.java | 9 +++++---- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main/java/seng302/Constants.java b/src/main/java/seng302/Constants.java index 0db52afb..e7569a13 100644 --- a/src/main/java/seng302/Constants.java +++ b/src/main/java/seng302/Constants.java @@ -25,12 +25,12 @@ public class Constants { public static final GPSCoordinate finishLineMarker2 = new GPSCoordinate(32.317257, -64.836260); public static final BoatInRace[] OFFICIAL_AC35_COMPETITORS = new BoatInRace[] - {new BoatInRace("Oracle Team USA", 200.0, Color.BLUEVIOLET), - new BoatInRace("Land Rover BAR", 180.0, Color.BLACK), - new BoatInRace("SoftBank Team Japan", 190.0, Color.RED), - new BoatInRace("Groupama Team France", 210.0, Color.ORANGE), - new BoatInRace("Artemis Racing", 220.0, Color.DARKOLIVEGREEN), - new BoatInRace("Emirates Team New Zealand", 310, Color.LIMEGREEN)}; + {new BoatInRace("Oracle Team USA", 200.0, Color.BLUEVIOLET, "USA"), + new BoatInRace("Land Rover BAR", 180.0, Color.BLACK, "BAR"), + new BoatInRace("SoftBank Team Japan", 190.0, Color.RED, "JAP"), + new BoatInRace("Groupama Team France", 210.0, Color.ORANGE, "FRN"), + new BoatInRace("Artemis Racing", 220.0, Color.DARKOLIVEGREEN, "ART"), + new BoatInRace("Emirates Team New Zealand", 310, Color.LIMEGREEN, "ENZ")}; //public static final Leg bermudaCourseStartToMark1 = new Leg(0, , new ) } diff --git a/src/main/java/seng302/Model/Boat.java b/src/main/java/seng302/Model/Boat.java index 25d67520..1c4d0484 100644 --- a/src/main/java/seng302/Model/Boat.java +++ b/src/main/java/seng302/Model/Boat.java @@ -8,15 +8,17 @@ import java.util.ArrayList; public class Boat { private String name; private double velocity; + private String abbrev; /** * Boat initialiser which keeps all of the information of the boat. * @param name Name of the Boat. * @param velocity Speed in m/s that the boat travels at. */ - public Boat(String name, double velocity){ + public Boat(String name, double velocity, String abbrev){ this.velocity = velocity; this.name = name; + this.abbrev = abbrev; } /** @@ -43,4 +45,6 @@ public class Boat { return getName(); } + public String getAbbrev() { return abbrev; } + } diff --git a/src/main/java/seng302/Model/BoatInRace.java b/src/main/java/seng302/Model/BoatInRace.java index 0c278222..c7ae531a 100644 --- a/src/main/java/seng302/Model/BoatInRace.java +++ b/src/main/java/seng302/Model/BoatInRace.java @@ -25,8 +25,8 @@ public class BoatInRace extends Boat { * @param velocity Speed that the boat travels. * @param colour Colour the boat will be displayed as on the map */ - public BoatInRace(String name, double velocity, Color colour) { - super(name, velocity); + public BoatInRace(String name, double velocity, Color colour, String abbrev) { + super(name, velocity, abbrev); setColour(colour); } diff --git a/src/main/java/seng302/Model/Race.java b/src/main/java/seng302/Model/Race.java index 2e824982..e6105d78 100644 --- a/src/main/java/seng302/Model/Race.java +++ b/src/main/java/seng302/Model/Race.java @@ -24,7 +24,7 @@ public abstract class Race implements Runnable { protected long totalTimeElapsed; - private int SLEEP_TIME = 25; //time in milliseconds to pause in a paced loop + private int SLEEP_TIME = 50; //time in milliseconds to pause in a paced loop private int PRERACE_TIME = 10000;//Integer.MAX_VALUE; //time in milliseconds to pause during pre-race /** diff --git a/src/main/java/seng302/Model/ResizableRaceCanvas.java b/src/main/java/seng302/Model/ResizableRaceCanvas.java index e3b87665..bcb44e1e 100644 --- a/src/main/java/seng302/Model/ResizableRaceCanvas.java +++ b/src/main/java/seng302/Model/ResizableRaceCanvas.java @@ -126,11 +126,12 @@ public class ResizableRaceCanvas extends Canvas { /** * Display given name and speed of boat at a graph coordinate - * @param name name of boat + * @param name name of the boat + * @param speed speed of the boat * @param coordinate coordinate the text appears */ public void displayText(String name, double speed, GraphCoordinate coordinate){ - String text = name + ", " + speed + " knots"; + String text = name + ", " + speed + " knots"; gc.fillText(text, coordinate.getX()+20, coordinate.getY()); } @@ -143,7 +144,7 @@ public class ResizableRaceCanvas extends Canvas { double height = getHeight(); gc.clearRect(0, 0, width, height); - System.out.println("Race Map Canvas Width: "+ width + ", Height:" + height); + //System.out.println("Race Map Canvas Width: "+ width + ", Height:" + height); this.map = new RaceMap(32.278, -64.863, 32.320989, -64.821, (int)width, (int)height); if (map == null){ @@ -176,7 +177,7 @@ public class ResizableRaceCanvas extends Canvas { if (boat != null) { // System.out.print("Drawing Boat At: " + boat.getCurrentPosition()); displayMark(this.map.convertGPS(boat.getCurrentPosition()), boat.getColour()); - displayText(boat.getName(), boat.getVelocity(), this.map.convertGPS(boat.getCurrentPosition())); + displayText(boat.getAbbrev(), boat.getVelocity(), this.map.convertGPS(boat.getCurrentPosition())); } } } From 13c5c12db3d084beb6c4a73cde625182e55c86f8 Mon Sep 17 00:00:00 2001 From: David Wu Date: Mon, 20 Mar 2017 17:27:09 +1300 Subject: [PATCH 2/2] Added table column to display speed of each boat -BoatInRace now has a column to called boatSpeedColumn that displays boat #story [17] #pair[fwy13, zwu18] --- src/main/java/seng302/Controllers/RaceController.java | 3 +++ src/main/java/seng302/Model/Boat.java | 8 ++++++++ src/main/resources/scenes/racepane.fxml | 1 + 3 files changed, 12 insertions(+) diff --git a/src/main/java/seng302/Controllers/RaceController.java b/src/main/java/seng302/Controllers/RaceController.java index 57f96474..317d69da 100644 --- a/src/main/java/seng302/Controllers/RaceController.java +++ b/src/main/java/seng302/Controllers/RaceController.java @@ -46,6 +46,8 @@ public class RaceController extends Controller{ TableColumn boatTeamColumn; @FXML TableColumn boatMarkColumn; + @FXML + TableColumn boatSpeedColumn; /** * updates the ResizableRaceCanvas (raceMap) with most recent data @@ -68,6 +70,7 @@ public class RaceController extends Controller{ boatInfoTable.setItems(race.getStartingBoats()); boatTeamColumn.setCellValueFactory(cellData -> cellData.getValue().getName()); + boatSpeedColumn.setCellValueFactory(cellData -> cellData.getValue().getVelocityProp()); boatMarkColumn.setCellValueFactory(cellData -> cellData.getValue().getCurrentLegName()); boatPlacingColumn.setCellValueFactory(new Callback, ObservableValue>() { @Override diff --git a/src/main/java/seng302/Model/Boat.java b/src/main/java/seng302/Model/Boat.java index 12ed8279..4cd2503b 100644 --- a/src/main/java/seng302/Model/Boat.java +++ b/src/main/java/seng302/Model/Boat.java @@ -1,5 +1,7 @@ package seng302.Model; +import javafx.beans.property.DoubleProperty; +import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; @@ -11,6 +13,7 @@ import java.util.ArrayList; public class Boat { private StringProperty name; private double velocity; + private StringProperty velocityProp; private String abbrev; /** @@ -20,6 +23,7 @@ public class Boat { */ public Boat(String name, double velocity, String abbrev){ this.velocity = velocity; + this.velocityProp = new SimpleStringProperty(String.valueOf(velocity)); this.abbrev = abbrev; this.name = new SimpleStringProperty(name); } @@ -52,6 +56,10 @@ public class Boat { return getName().getValue(); } + public StringProperty getVelocityProp() { + return velocityProp; + } + public String getAbbrev() { return abbrev; } } diff --git a/src/main/resources/scenes/racepane.fxml b/src/main/resources/scenes/racepane.fxml index d699ff46..ed538a38 100644 --- a/src/main/resources/scenes/racepane.fxml +++ b/src/main/resources/scenes/racepane.fxml @@ -20,6 +20,7 @@ +