Created boat initialise method to run through boats setting correct start position
- Running funny, try pulling changes from master #story[20]
This commit is contained in:
@@ -79,6 +79,10 @@ public class Leg {
|
||||
}
|
||||
|
||||
|
||||
public void setStartGPSCoordinate(GPSCoordinate startGPSCoordinate) {
|
||||
this.startGPSCoordinate = startGPSCoordinate;
|
||||
}
|
||||
|
||||
public GPSCoordinate getStartMarker1() {
|
||||
return startMarker1;
|
||||
}
|
||||
@@ -95,6 +99,12 @@ public class Leg {
|
||||
return endMarker2;
|
||||
}
|
||||
|
||||
public Leg createCopy() {
|
||||
Leg copy = new Leg(this.name, this.startMarker1, this.startMarker2,
|
||||
this.endMarker1, this.endMarker2, this.legNumber);
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the coordinates in GPSCoordinate class of the boats starting coordinate.
|
||||
@@ -143,10 +153,12 @@ public class Leg {
|
||||
|
||||
private void calculateStart() {
|
||||
//TO DO: Make this function set the start node as halfway between the two markers
|
||||
this.startGPSCoordinate = startMarker1;
|
||||
}
|
||||
|
||||
private void calculateEnd() {
|
||||
//TO DO: Make this function set the end node as halfway between the two markers
|
||||
this.endGPSCoordinate = endMarker1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -42,26 +42,11 @@ public abstract class Race implements Runnable {
|
||||
this.legs.add(new Leg("Finish", this.legs.size()));
|
||||
this.controller = controller;
|
||||
this.scaleFactor = scaleFactor;
|
||||
|
||||
initialiseBoats();
|
||||
}
|
||||
|
||||
|
||||
private void initialiseBoats() {
|
||||
Leg startLeg = legs.get(0);
|
||||
|
||||
|
||||
|
||||
if (startingBoats.size() > 0) {
|
||||
for (BoatInRace boat : startingBoats) {
|
||||
if (boat != null) {
|
||||
boat.setScaledVelocity(boat.getVelocity() * scaleFactor);
|
||||
|
||||
boat.setCurrentLeg(startLeg);
|
||||
}
|
||||
}
|
||||
if (startingBoats != null && startingBoats.size() > 0){
|
||||
initialiseBoats();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for Race class
|
||||
*
|
||||
@@ -83,6 +68,21 @@ public abstract class Race implements Runnable {
|
||||
}
|
||||
|
||||
|
||||
protected void initialiseBoats() {
|
||||
System.out.println("boat initialisation");
|
||||
Leg startLeg = legs.get(0);
|
||||
Leg copyLeg = startLeg.createCopy();
|
||||
ArrayList<GPSCoordinate> startPositions = getSpreadStartingPositions();
|
||||
for (int i = 0; i < startingBoats.size(); i++) {
|
||||
BoatInRace boat = startingBoats.get(i);
|
||||
if (boat != null) {
|
||||
boat.setScaledVelocity(boat.getVelocity() * scaleFactor);
|
||||
copyLeg.setStartGPSCoordinate(startPositions.get(i));
|
||||
boat.setCurrentLeg(startLeg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Runnable for the thread.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user