-
Notifications
You must be signed in to change notification settings - Fork 8
/
game_wrappers_mgr.py
51 lines (43 loc) · 2.04 KB
/
game_wrappers_mgr.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from game_wrappers.nhl941on1_obs import NHL941on1Observation2PEnv
from game_wrappers.nhl941on1_display import NHL941on1GameDisplayEnv
from game_wrappers.nhl941on1_display_pvp import NHL941on1PvPGameDisplayEnv
from game_wrappers.nhl941on1_ai import NHL941on1AISystem
from game_wrappers.nhl94_obs import NHL94Observation2PEnv
from game_wrappers.nhl94_display import NHL94GameDisplayEnv
from game_wrappers.nhl94_display_pvp import NHL94PvPGameDisplayEnv
from game_wrappers.nhl94_ai import NHL94AISystem
from game_wrappers.pong_obs import PongObservationEnv
from game_wrappers.display import PvPGameDisplayEnv, GameDisplayEnv
from game_wrappers.ai_sys import AISys
from game_wrappers.compare_model_display import CompareModelDisplay
class GameWrapperManager(object):
def __new__(cls):
if not hasattr(cls, 'instance'):
cls.instance = super(GameWrapperManager, cls).__new__(cls)
return cls.instance
def __init__(self):
self.obs_env = None
self.pvp_display_env = None
self.sp_display_env = None
self.ai_sys = None
self.compare_model = None
def init(self, args):
self.obs_env = CompareModelDisplay
self.pvp_display_env = PvPGameDisplayEnv
self.sp_display_env = GameDisplayEnv
self.ai_sys = AISys
self.compare_model = CompareModelDisplay
# overide with game specific wrappers
if args.env == 'NHL941on1-Genesis':
self.obs_env = NHL941on1Observation2PEnv
self.pvp_display_env = NHL941on1PvPGameDisplayEnv
self.sp_display_env = NHL941on1GameDisplayEnv
self.ai_sys = NHL941on1AISystem
elif args.env == 'NHL942on2-Genesis' or args.env == 'NHL94-Genesis':
self.obs_env = NHL94Observation2PEnv
self.pvp_display_env = NHL94PvPGameDisplayEnv
self.sp_display_env = NHL94GameDisplayEnv
self.ai_sys = NHL94AISystem
elif args.env == 'Pong-Atari2600':
self.obs_env = PongObservationEnv
wrappers = GameWrapperManager()