mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 06:18:44 +00:00
25038da2a1
#story[572]
174 lines
3.9 KiB
Java
174 lines
3.9 KiB
Java
package seng302.models;
|
|
|
|
import javafx.geometry.Point2D;
|
|
import javafx.scene.paint.Color;
|
|
import javafx.scene.shape.Polygon;
|
|
import javafx.scene.text.Text;
|
|
import javafx.scene.transform.Rotate;
|
|
import javafx.scene.transform.Translate;
|
|
import javafx.util.Pair;
|
|
|
|
/**
|
|
* Represents a boat in the race.
|
|
*/
|
|
public class Boat {
|
|
|
|
private String teamName;
|
|
private double velocity;
|
|
private double lat;
|
|
private double lon;
|
|
private double heading;
|
|
private int markLastPast;
|
|
private String shortName;
|
|
private int id;
|
|
// new attributes to boat
|
|
private int sourceID;
|
|
private String boatName;
|
|
private String country;
|
|
|
|
public Boat(String teamName) {
|
|
this.teamName = teamName;
|
|
this.velocity = 10; // Default velocity
|
|
this.lat = 0.0;
|
|
this.lon = 0.0;
|
|
this.shortName = "";
|
|
}
|
|
|
|
|
|
/**
|
|
* Represents a boat in the race.
|
|
*
|
|
* @param teamName The name of the team sailing the boat
|
|
* @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, String shortName, int id) {
|
|
this.teamName = teamName;
|
|
this.velocity = boatVelocity;
|
|
this.shortName = shortName;
|
|
this.id = id;
|
|
}
|
|
|
|
/**
|
|
* New instance created by BoatsParser.
|
|
*
|
|
* @param sourceID source ID of the boat
|
|
* @param boatName full name of the boat
|
|
* @param shortName short name of the boat
|
|
* @param country country of the boat
|
|
*/
|
|
public Boat(int sourceID, String boatName, String shortName, String country) {
|
|
this.sourceID = sourceID;
|
|
this.boatName = boatName;
|
|
this.shortName = shortName;
|
|
this.country = country;
|
|
}
|
|
|
|
/**
|
|
* Returns the name of the team sailing the boat
|
|
*
|
|
* @return The name of the team
|
|
*/
|
|
public String getTeamName() {
|
|
return this.teamName;
|
|
}
|
|
|
|
/**
|
|
* Sets the name of the team sailing the boat
|
|
*
|
|
* @param teamName The name of the team
|
|
*/
|
|
public void setTeamName(String teamName) {
|
|
this.teamName = teamName;
|
|
}
|
|
|
|
/**
|
|
* Gets velocity of the boat
|
|
*
|
|
* @return a float number of the boat velocity
|
|
*/
|
|
public double getVelocity() {
|
|
return this.velocity;
|
|
}
|
|
|
|
/**
|
|
* Sets velocity of the boat
|
|
*
|
|
* @param velocity The velocity of boat
|
|
*/
|
|
public void setVelocity(double velocity) {
|
|
this.velocity = velocity;
|
|
}
|
|
|
|
/**
|
|
* Sets the boats location
|
|
*
|
|
* @param lat, the boats latitude
|
|
* @param lon, the boats longitude
|
|
*/
|
|
public void setLocation(double lat, double lon) {
|
|
this.lat = lat;
|
|
this.lon = lon;
|
|
}
|
|
|
|
public Pair<Double, Double> getLocation ()
|
|
{
|
|
return new Pair<>(this.lat, this.lon);
|
|
}
|
|
|
|
public double getLatitude(){
|
|
return this.lat;
|
|
}
|
|
|
|
public double getLongitude(){
|
|
return this.lon;
|
|
}
|
|
|
|
public void setLatitude (double latitude) {
|
|
this.lat = latitude;
|
|
}
|
|
|
|
public void setlongitude (double longitude) {
|
|
this.lon =longitude;
|
|
}
|
|
|
|
public double getSpeedInKnots(){
|
|
return Math.round((this.velocity * 1.94384) * 100d) / 100d;
|
|
}
|
|
|
|
public void setMarkLastPast(int markLastPast) {
|
|
this.markLastPast = markLastPast;
|
|
}
|
|
|
|
public int getMarkLastPast() {
|
|
return markLastPast;
|
|
}
|
|
|
|
public double getHeading(){
|
|
return this.heading;
|
|
}
|
|
|
|
public void setHeading(double heading) {
|
|
this.heading = heading;
|
|
}
|
|
|
|
public String getShortName(){
|
|
return this.shortName;
|
|
}
|
|
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
|
|
public int getSourceID() {
|
|
return sourceID;
|
|
}
|
|
|
|
public String getBoatName() {
|
|
return boatName;
|
|
}
|
|
|
|
public String getCountry() {
|
|
return country;
|
|
}
|
|
} |