mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
Merge branch 'change-to-short-names' into 'master'
Changed the team names to their abbreviated versions - Also halved the size of the wake lines - Updated tests to support the shorter team names - Wake lines are now hidden with the other annotations Tags: #story[23,21] See merge request !25
This commit is contained in:
@@ -39,7 +39,7 @@ public class BoatPositionController {
|
|||||||
positionVbox.getChildren().removeAll();
|
positionVbox.getChildren().removeAll();
|
||||||
|
|
||||||
for (Boat boat: boatOrder){
|
for (Boat boat: boatOrder){
|
||||||
positionVbox.getChildren().add(new Text(boat.getTeamName() + " " + boat.getSpeedInKnots() + " Knots"));
|
positionVbox.getChildren().add(new Text(boat.getShortName() + " " + boat.getSpeedInKnots() + " Knots"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import javafx.scene.layout.AnchorPane;
|
|||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import javafx.scene.text.FontSmoothingType;
|
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
import seng302.models.Boat;
|
import seng302.models.Boat;
|
||||||
@@ -265,7 +264,7 @@ public class CanvasController {
|
|||||||
|
|
||||||
boat.setLocation(timelineInfo.getY().doubleValue(), timelineInfo.getX().doubleValue());
|
boat.setLocation(timelineInfo.getY().doubleValue(), timelineInfo.getX().doubleValue());
|
||||||
|
|
||||||
drawBoat(boat.getLongitude(), boat.getLatitude(), boat.getColor(), boat.getTeamName(), boat.getSpeedInKnots(), boat.getHeading());
|
drawBoat(boat.getLongitude(), boat.getLatitude(), boat.getColor(), boat.getShortName(), boat.getSpeedInKnots(), boat.getHeading());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -280,6 +279,7 @@ public class CanvasController {
|
|||||||
*/
|
*/
|
||||||
private void drawWake(GraphicsContext gc, double x, double y, double speed, Color color, double heading){
|
private void drawWake(GraphicsContext gc, double x, double y, double speed, Color color, double heading){
|
||||||
double angle = Math.toRadians(heading);
|
double angle = Math.toRadians(heading);
|
||||||
|
speed = speed * 0.50; // Half the size of the wake
|
||||||
|
|
||||||
double newX = x + speed * Math.cos(angle);//(nextX * Math.cos(angle) - nextY * Math.sin(angle)) * length;
|
double newX = x + speed * Math.cos(angle);//(nextX * Math.cos(angle) - nextY * Math.sin(angle)) * length;
|
||||||
double newY = y + speed * Math.sin(angle);//(nextX * Math.sin(angle) + nextY * Math.cos(angle)) * length;
|
double newY = y + speed * Math.sin(angle);//(nextX * Math.sin(angle) + nextY * Math.cos(angle)) * length;
|
||||||
@@ -312,13 +312,15 @@ public class CanvasController {
|
|||||||
// Set boat text
|
// Set boat text
|
||||||
gc.setFont(new Font(14));
|
gc.setFont(new Font(14));
|
||||||
gc.setLineWidth(3);
|
gc.setLineWidth(3);
|
||||||
gc.setFontSmoothingType(FontSmoothingType.GRAY);
|
|
||||||
gc.fillText(name + ", " + speed + " knots", x + 15, y + 15);
|
gc.fillText(name + ", " + speed + " knots", x + 15, y + 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
gc.fillOval(x, y, diameter, diameter);
|
gc.fillOval(x, y, diameter, diameter);
|
||||||
|
|
||||||
|
if (annotationCheck){
|
||||||
drawWake(gc, x, y, speed, color, heading);
|
drawWake(gc, x, y, speed, color, heading);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws the course.
|
* Draws the course.
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ public class Boat {
|
|||||||
private Color color;
|
private Color color;
|
||||||
private int markLastPast;
|
private int markLastPast;
|
||||||
private double heading;
|
private double heading;
|
||||||
|
private String shortName;
|
||||||
|
|
||||||
public Boat(String teamName) {
|
public Boat(String teamName) {
|
||||||
this.teamName = teamName;
|
this.teamName = teamName;
|
||||||
@@ -22,6 +23,7 @@ public class Boat {
|
|||||||
this.lat = 0.0;
|
this.lat = 0.0;
|
||||||
this.lon = 0.0;
|
this.lon = 0.0;
|
||||||
this.distanceToNextMark = 0.0;
|
this.distanceToNextMark = 0.0;
|
||||||
|
this.shortName = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,12 +31,14 @@ public class Boat {
|
|||||||
*
|
*
|
||||||
* @param teamName The name of the team sailing the boat
|
* @param teamName The name of the team sailing the boat
|
||||||
* @param boatVelocity The speed of the boat in meters/second
|
* @param boatVelocity The speed of the boat in meters/second
|
||||||
|
* @param shortName A shorter version of the teams name
|
||||||
*/
|
*/
|
||||||
public Boat(String teamName, double boatVelocity) {
|
public Boat(String teamName, double boatVelocity, String shortName) {
|
||||||
this.teamName = teamName;
|
this.teamName = teamName;
|
||||||
this.velocity = boatVelocity;
|
this.velocity = boatVelocity;
|
||||||
this.distanceToNextMark = 0.0;
|
this.distanceToNextMark = 0.0;
|
||||||
this.color = Colors.getColor();
|
this.color = Colors.getColor();
|
||||||
|
this.shortName = shortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -119,4 +123,8 @@ public class Boat {
|
|||||||
public double getHeading(){
|
public double getHeading(){
|
||||||
return this.heading;
|
return this.heading;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getShortName(){
|
||||||
|
return this.shortName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,7 @@ public class TeamsParser extends FileParser {
|
|||||||
String name = element.getElementsByTagName("name").item(0).getTextContent();
|
String name = element.getElementsByTagName("name").item(0).getTextContent();
|
||||||
String alias = element.getElementsByTagName("alias").item(0).getTextContent();
|
String alias = element.getElementsByTagName("alias").item(0).getTextContent();
|
||||||
double velocity = Double.valueOf(element.getElementsByTagName("velocity").item(0).getTextContent());
|
double velocity = Double.valueOf(element.getElementsByTagName("velocity").item(0).getTextContent());
|
||||||
Boat boat = new Boat(name, velocity);
|
Boat boat = new Boat(name, velocity, alias);
|
||||||
return boat;
|
return boat;
|
||||||
} else {
|
} else {
|
||||||
throw new NoSuchElementException("Cannot generate a boat by given node");
|
throw new NoSuchElementException("Cannot generate a boat by given node");
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class BoatTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetVelocity() {
|
public void testSetVelocity() {
|
||||||
Boat boat1 = new Boat("Team 1", 29.0);
|
Boat boat1 = new Boat("Team 1", 29.0, "");
|
||||||
assertEquals(boat1.getVelocity(), (double) 29.0, 1e-15);
|
assertEquals(boat1.getVelocity(), (double) 29.0, 1e-15);
|
||||||
|
|
||||||
boat1.setVelocity(12.0);
|
boat1.setVelocity(12.0);
|
||||||
|
|||||||
Reference in New Issue
Block a user