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, win, size, player1, player2): self.running = True self.win = win self.size = size self.p1 = Player("red", 1) self.p1.setSide(1) self.p2 = Player("blue", 2) self.p2.setSide(-1) self.players = (self.p1, self.p2) self.currentPlayer = 1 self.GUI = None self.turnText = None self.player1 = player1 self.player2 = player2 windowSize = 520 self.GUI = HexGUI(self.win, self.size, 20, [80, 100]) self.turnText = Text(Point(windowSize / 3, windowSize / 10), "Player " + str(self.currentPlayer) + "'s Turn (thinking)") self.turnText.setSize(20) self.turnText.draw(self.win) self.board = self.GUI.getBoard()
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()