def __init__(self, m, n, mode): # init all events EventManager.initEvents() EventManager.subscribe("GameFinished", self.onGameFinished) EventManager.subscribe("GameStarted", self.onGameStarted) # save size and mode self.size = [m, n] self.mode = mode # just to init the value self._currentPlayer = 1 # instantiate model and view self.HexBoard = HexBoard(self.size[0], self.size[1]) self.HexBoard.setReferenceToGame(self) if self.UIRequired(): self.HexGUI = HexGUI(self.size[0], self.size[1], self) else: self.MachineGUI = MachineGUI(self.size[0], self.size[1], self) # set the game to entry point self.start(self._currentPlayer) if self.UIRequired(): # main loop starts for event receiving self.HexGUI.mainloop() if self.UIRequired() == False: self.MachineGUI.gameLoop()
def __init__(self, m, n, mode): # init all events EventManager.initEvents() EventManager.subscribe("GameFinished", self.onGameFinished) EventManager.subscribe("GameStarted", self.onGameStarted) # save size and mode self.size = [m,n] self.mode = mode # just to init the value self._currentPlayer = 1 # instantiate model and view self.HexBoard = HexBoard(self.size[0], self.size[1]) self.HexBoard.setReferenceToGame(self) if self.UIRequired(): self.HexGUI = HexGUI(self.size[0], self.size[1], self) else: self.MachineGUI = MachineGUI(self.size[0], self.size[1], self) # set the game to entry point self.start(self._currentPlayer) if self.UIRequired(): # main loop starts for event receiving self.HexGUI.mainloop() if self.UIRequired() == False: self.MachineGUI.gameLoop()
def __init__(self, m, n, mode): self._pause = False # save size and mode self.size = [m, n] self.mode = mode # just to init the value self._currentPlayer = 1 self._currentPlayerType = "human" if mode == "copy": return # init all events EventManager.initEvents() EventManager.subscribe("GameFinished", self.onGameFinished) EventManager.subscribe("GameStarted", self.onGameStarted) EventManager.subscribe("MoveFinished", self.onMoveFinished) EventManager.subscribe("GameUILoaded", self.onGameUILoaded) EventManager.subscribe("ToggleVictoryPath", self.onToggleVictoryPath) # instantiate model and view self.HexBoard = HexBoard(self.size[0], self.size[1]) self.HexBoard.setReferenceToGame(self) self.GameState = 0 self.moveCounter = 0 if self.UIRequired(): self.HexGUI = HexGUI(self.size[0], self.size[1], self) else: self.MachineGUI = MachineGUI(self.size[0], self.size[1], self) if self.mode == "ki": self.KI = HexKI(self.size[0], self.size[1]) if self.mode == "inter" or self.mode == "machine": self.KI = [] self.KI.append(HexKI(self.size[0], self.size[1])) self.KI.append(HexKI(self.size[0], self.size[1])) self._currentPlayerType = "ki" # set the game to entry point #self.start(self._currentPlayer) if self.UIRequired(): EventManager.subscribe("UITick", self.onUITick) # main loop starts for event receiving self.HexGUI.mainloop() if self.UIRequired() == False: self.GameState = 1 self.MachineGUI.gameLoop()