class_docstr: "Play on single (simulated or real) environment.
  
  See `PlayerEnv` for more details.
  
  Naming conventions:
    envs_step_tuples: dictionary with single key.
      {
        "env": (observation, reward, done, info),
      }
      Plural form used for consistency with `PlayerEnv`.
class_docstr_tok: ["``","Play","on","single","(","simulated","or","real",")","environment",".","See","`","PlayerEnv","`","for","more","details",".","Naming","conventions",":","envs_step_tuples",":","dictionary","with","single","key",".","{","``","env","''",":","(","observation",",","reward",",","done",",","info",")",",","}","Plural","form","used","for","consistency","with","`","PlayerEnv","`","."]
docstr: Augment observation, return usual step tuple.
docstr_tok: ["Augment","observation",",","return","usual","step","tuple","."]
code: def _player_step_tuple(self, envs_step_tuples):
      """Augment observation, return usual step tuple."""
      ob, reward, done, info = envs_step_tuples["env"]
      ob = self._augment_observation(ob, reward, self.cumulative_reward)
      return ob, reward, done, info
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import gym
  from gym.utils import play
  import numpy
  from tensor2tensor.bin import t2t_trainer
  from tensor2tensor.rl import player_utils
  from tensor2tensor.rl.envs.simulated_batch_env import PIL_Image
  from tensor2tensor.rl.envs.simulated_batch_env import PIL_ImageDraw
  from tensor2tensor.rl.envs.simulated_batch_gym_env import FlatBatchEnv
  from tensor2tensor.rl.rl_utils import absolute_hinge_difference
  from tensor2tensor.rl.rl_utils import full_game_name
  import tensor2tensor.rl.trainer_model_based_params
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the SingleEnvPlayer obj's underlying member method code with example usage: obj._player_step_tuple(envs_step_tuples) and returns: ob,  reward,  done,  info