From 42bab210e00575c2333694dc4238d0f0688e8db9 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Thu, 16 Jan 2014 16:55:18 +0100 Subject: Add toggle to get the focused robot --- src/Camera.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/Camera.java') 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; -- cgit v1.2.1