From d4a48e1f30a7c8b50a27c895a54d95310d796d6f Mon Sep 17 00:00:00 2001
From: MLErik <baerenjesus@gmail.com>
Date: Fri, 7 Jun 2019 15:58:52 +0200
Subject: [PATCH] Updated step function in envs/rail_env.py

---
 flatland/envs/rail_env.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/flatland/envs/rail_env.py b/flatland/envs/rail_env.py
index 8a2bcf49..c98b1689 100644
--- a/flatland/envs/rail_env.py
+++ b/flatland/envs/rail_env.py
@@ -226,10 +226,11 @@ class RailEnv(Environment):
                 agent.moving = False
                 self.rewards_dict[iAgent] += stop_penalty
 
-            if not agent.moving and \
-                (action == RailEnvActions.MOVE_LEFT or
-                 action == RailEnvActions.MOVE_FORWARD or
-                 action == RailEnvActions.MOVE_RIGHT):
+            if not agent.moving and action == RailEnvActions.MOVE_FORWARD:
+                # Only allow agent to start moving by pressing forward.
+                #(action == RailEnvActions.MOVE_LEFT or
+                # action == RailEnvActions.MOVE_FORWARD or
+                # action == RailEnvActions.MOVE_RIGHT):
                 agent.moving = True
                 self.rewards_dict[iAgent] += start_penalty
 
@@ -244,7 +245,7 @@ class RailEnv(Environment):
                 else:
                     # Logic: if the chosen action is invalid,
                     # and it was LEFT or RIGHT, and the agent was moving, then keep moving FORWARD.
-                    if action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT and agent.moving:
+                    if (action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT) and agent.moving:
                         cell_isFree, new_cell_isValid, new_direction, new_position, transition_isValid = \
                             self._check_action_on_agent(RailEnvActions.MOVE_FORWARD, agent)
 
-- 
GitLab