def __init__(self, configs):
import history, models
# class instances
self.rogomatic = StalkOMatic(configs)
self.model_manager = getattr(models, configs["model_manager"])(self.rogomatic)
self.history_manager = getattr(history, configs["history_manager"])(self)
# configs
self.configs = configs
self.configs["iteration"] = 1
self.configs["actions"] = self.rogomatic.get_actions()
self.configs["actions_num"] = len(self.configs["actions"])
# gui stuff
ui = None
log_targets = []
if configs["logsonfile"]:
log_targets.append("file")
if self.configs["gui"]:
self.ui = UIManager.init(configs["userinterface"], self.rogomatic)
self._pending_action = None
ui = self.ui
log_targets.append("ui")
self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets, ui=ui)
else:
log_targets.append("terminal")
self.l = Logger(log_depth=configs["verbose"], log_targets=log_targets)
# state
self.state = self.model_manager.reshape_initial_state(self.rogomatic.compute_state())
self.old_state = self.state
self.last_pos = self.rogomatic.player_pos
self.same_pos_count = 0
self.starting = False
评论列表
文章目录