示例#1
0
文件: env.py 项目: hercky/MazeBase
    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()
示例#3
0
from six.moves import input
import numpy as np

import mazebase.games as games
from mazebase.games import featurizers
from mazebase.games import curriculum

import logging
logging.getLogger().setLevel(logging.DEBUG)

player_mode = True

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

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]
示例#4
0
import mazebase.games as games
from mazebase.games import featurizers
from mazebase.games import curriculum

import logging
logging.getLogger().setLevel(logging.DEBUG)

player_mode = True

switches = curriculum.CurriculumWrappedGame(
    games.Switches,
    waterpct=0.1, n_switches=4,
    switch_states=4,
    curriculums={
        'map_size': games.curriculum.MapSizeCurriculum(
            (3, 3, 3, 3),
            (3, 3, 3, 3),
            (10, 10, 10, 10)
        )
    }
)
sg = curriculum.CurriculumWrappedGame(
    games.SingleGoal,
    waterpct=0.3,
    curriculums={
        'map_size': games.curriculum.MapSizeCurriculum(
            (3, 3, 3, 3),
            (3, 3, 3, 3),
            (10, 10, 10, 10)
        )
    }