def __init__(self, width, height, mechanic, mechanic_args): self.env = MazeGame((width, height), mechanic=mechanic, mechanic_args=mechanic_args) self.observation_space = self.env.get_state().shape self.action_space = 4
def __init__(self, width, height): opt = dict(algorithm="none", disable_target=True) self.env = MazeGame((width, height), mechanic=NoMazeEnv.NoMazeMechanic, mechanic_args=None, options=opt) self.observation_space = self.env.get_state().shape self.action_space = 4
def __init__(self, width, height, state_type, mechanic, mechanic_args): self.env = MazeGame((width, height), mechanic=mechanic, mechanic_args=mechanic_args) if state_type == "image": self.env.set_preprocess(dict( image=dict(), #resize=dict(size=(84, 84)), #grayscale=dict() )) self.observation_space = self.env.get_state().shape self.action_space = 4
def __init__(self, width, height, state_type): opt = dict(algorithm="none", disable_target=True) self.env = MazeGame((width, height), mechanic=NoMazeEnv.NoMazeMechanic, mechanic_args=None, options=opt) if state_type == "image": self.env.set_preprocess( dict(image=dict(), #resize=dict(size=(84, 84)), #grayscale=dict() )) self.observation_space = self.env.get_state().shape self.action_space = 4
if __name__ == "__main__": env = gym.make("Maze-11x11-NormalMaze-v0") while False: a = random.randint(0, 3) s, r, t, info = env.step(a) env.render() if t: env.reset() # Direct initialization m = MazeGame((32, 32), mechanic=MazeGame.NormalMaze, mechanic_args=dict(vision=3)) path = list(reversed(m.maze_optimal_path[1])) fps = 0 path.pop() while True: nx, ny = path.pop() px, py = m.player dx, dy = nx - px, ny - py if dx == 1: a = 3 elif dx == -1: a = 2