From 3ba821abd5ab9c0e40ab5252d7221ff9d3052b12 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Thu, 9 Jan 2014 14:34:13 +0100 Subject: Fix reset button --- src/Robot.java | 7 +++++++ src/RobotRace.java | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/Robot.java b/src/Robot.java index de7943f..b0bca1a 100644 --- a/src/Robot.java +++ b/src/Robot.java @@ -500,6 +500,13 @@ class Robot extends BetterBase { robot_time_pos += speed * seconds; } + /** + * Resets the position on the track to the begin. + */ + public void resetPosition() { + robot_time_pos = 0; + } + /** * Returns the lane number on which the robot should walk. */ diff --git a/src/RobotRace.java b/src/RobotRace.java index ee8abb5..622f82b 100644 --- a/src/RobotRace.java +++ b/src/RobotRace.java @@ -372,6 +372,16 @@ public class RobotRace extends Base { */ private void calculateRobotSpeedAndLocation() { double current_t = gs.tAnim; + // on reset, position the robots on the begin + if (current_t < last_speed_update) { + last_speed_update = 0; + last_t = 0; + for (Robot robot : robots) { + robot.setSpeed(0); + robot.resetPosition(); + } + } + double last_speed_update_t_diff = current_t - last_speed_update; if (last_speed_update_t_diff >= SPEED_RECALC_INTERVAL) { for (Robot robot : robots) { -- cgit v1.2.1