class_docstr: Episodic life wrapper for gym.Env.
  
  This wrapper makes episode end when a life is lost, but only reset
  when all lives are lost.
  
  Args:
      env: The environment to be wrapped.
class_docstr_tok: ["Episodic","life","wrapper","for","gym.Env",".","This","wrapper","makes","episode","end","when","a","life","is","lost",",","but","only","reset","when","all","lives","are","lost",".","Args",":","env",":","The","environment","to","be","wrapped","."]
docstr: gym.Env step function.
docstr_tok: ["gym.Env","step","function","."]
code: def step(self, action):
      """gym.Env step function."""
      obs, reward, done, info = self.env.step(action)
      self._was_real_done = done
      lives = self.env.unwrapped.ale.lives()
      if lives < self._lives and lives > 0:
          done = True
      self._lives = lives
      return obs, reward, done, info
  
imports: import gym
label_desc: Use image node_id 2 for calling the EpisodicLife obj's underlying member method code with example usage: obj.step(action) and returns: obs,  reward,  done,  info