def __init__(self):
utils.EzPickle.__init__(self)
self.rom_path = ''
self.screen_height = 224
self.screen_width = 256
self.action_space = spaces.MultiDiscrete([[0, 1]] * NUM_ACTIONS)
self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3))
self.launch_vars = {}
self.cmd_args = ['--xscale 2', '--yscale 2', '-f 0']
self.lua_path = []
self.subprocess = None
self.no_render = True
self.viewer = None
# Pipes
self.pipe_name = ''
self.path_pipe_prefix = os.path.join(tempfile.gettempdir(), 'smb-fifo')
self.path_pipe_in = '' # Input pipe (maps to fceux out-pipe and to 'in' file)
self.path_pipe_out = '' # Output pipe (maps to fceux in-pipe and to 'out' file)
self.pipe_out = None
self.lock_out = Lock()
self.disable_in_pipe = False
self.disable_out_pipe = False
self.launch_vars['pipe_name'] = ''
self.launch_vars['pipe_prefix'] = self.path_pipe_prefix
# Other vars
self.is_initialized = 0 # Used to indicate fceux has been launched and is running
self.is_exiting = 0 # Used to stop the listening thread
self.last_frame = 0 # Last processed frame
self.reward = 0 # Reward for last action
self.episode_reward = 0 # Total rewards for episode
self.is_finished = False
self.screen = np.zeros(shape=(self.screen_height, self.screen_width, 3), dtype=np.uint8)
self.info = {}
self.level = 0
self._reset_info_vars()
self.first_step = False
self.lock = (NesLock()).get_lock()
# Seeding
self.curr_seed = 0
self._seed()
评论列表
文章目录