Exemplo n.º 1
0
    def __init__(self, game_type = "chests", 
                        grid_size = 10, 
                        max_eps_len = 500):

        if game_type not in ["chests","traps"]:
           raise Exception
        else:
            if game_type == "chests":
                self.gameClass = games.ChestKey
            elif game_type == "traps"
                self.gameClass = games.TrapKey
        
        

        game0 = curriculum.CurriculumWrappedGame(
            self.gameClass,
            curriculums={
                'map_size': games.curriculum.MapSizeCurriculum(
                    (grid_size,) * 4,
                    (grid_size,) * 4,
                    (grid_size,) * 4
                ),
            }
        )

        all_games = [game0]
        
        self.game = games.MazeGame(
            all_games,
            # featurizer=featurizers.SentenceFeaturesRelative(
            #   max_sentences=30, bounds=4)
            featurizer=featurizers.GridFeaturizer()
        )

        
        self.w, self.h = game.get_max_bounds()
        
        self.actions = self.game.all_possible_actions()
        self.action_dim = 1 
        self.num_action = len(self.actions)

        self.state_dim = ( self.w, self.h , len(self.game.all_possible_features()))

        # for ep len
        self.frame = 0

        self.max_frame = max_eps_len
    def __init__(self):
        super(MazebaseWrapper, self).__init__()
        self.name = MAZEBASE
        try:
            # Reference: https://github.com/facebook/MazeBase/blob/3e505455cae6e4ec442541363ef701f084aa1a3b/py/mazebase/games/mazegame.py#L454
            small_size = (10, 10, 10, 10)
            lk = curriculum.CurriculumWrappedGame(
                mazebase_games.LightKey,
                curriculums={
                    'map_size':
                    mazebase_games.curriculum.MapSizeCurriculum(
                        small_size, small_size, (10, 10, 10, 10))
                })

            game = mazebase_games.MazeGame(
                games=[lk],
                featurizer=mazebase_games.featurizers.GridFeaturizer())

        except mazebase.utils.mazeutils.MazeException as e:
            print(e)
        self.game = game
        self.actions = self.game.all_possible_actions()
Exemplo n.º 3
0
                                      })

ck = curriculum.CurriculumWrappedGame(games.ChestKey,
                                      curriculums={
                                          'map_size':
                                          games.curriculum.MapSizeCurriculum(
                                              (10, 10, 10, 10),
                                              (10, 10, 10, 10),
                                              (10, 10, 10, 10)),
                                      })

#all_games = [bd, lk]
all_games = [tk]
game = games.MazeGame(
    all_games,
    # featurizer=featurizers.SentenceFeaturesRelative(
    #   max_sentences=30, bounds=4)
    featurizer=featurizers.GridFeaturizer())
max_w, max_h = game.get_max_bounds()

pp = PrettyPrinter(indent=2, width=160)
# all_actions = game.all_possible_actions()
# all_features = game.all_possible_features()
# print("Actions:", all_actions)
# print("Features:", all_features)
# sleep(2)


def action_func(actions):
    if not player_mode:
        return choice(actions)