summaryrefslogtreecommitdiff
path: root/src/Camera.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Camera.java')
-rw-r--r--src/Camera.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/Camera.java b/src/Camera.java
index fde3d80..740328e 100644
--- a/src/Camera.java
+++ b/src/Camera.java
@@ -30,6 +30,13 @@ class Camera {
*/
private final Robot[] robots;
+ /**
+ * True if the robot with the highest speed should be focused in Helicopter,
+ * Motor and FP mode; false if the robot that made the longest distance
+ * should be focused.
+ */
+ boolean followTopSpeed = true;
+
public Camera(GlobalState gs, RaceTrack track, Robot[] robots) {
this.gs = gs;
this.track = track;
@@ -201,9 +208,16 @@ class Camera {
Robot selected = robots[0];
for (Robot robot : robots) {
// Many possibilities here, fastest, slowest, loser, winner...
- if (selected.getSpeed() < robot.getSpeed()) {
- // select the fastest accelerating robot.
- selected = robot;
+ if (followTopSpeed) {
+ if (selected.getSpeed() < robot.getSpeed()) {
+ // select fastest robot, the one walking in the front
+ selected = robot;
+ }
+ } else {
+ if (selected.getTimePos() < robot.getTimePos()) {
+ // select the fastest accelerating robot.
+ selected = robot;
+ }
}
}
return selected;