Exemple #1
0
    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()
Exemple #2
0
 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()
Exemple #3
0
    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()