Example #1
0
class MainController:
    def __init__(self, GRID_SIZE, players):
        self.players = players
        self.View = None

    def run(self):
        while (True):
            self.View = MenuView(3, self.players)
            buttons1, buttons2, PlayButton, GRID3, GRID10 = self.View.draw_Menu(
                self.players)

            flag = 0
            p1 = None
            p2 = None
            p3 = None

            while (flag == 0):
                for event in pygame.event.get():
                    if (event.type == pygame.QUIT):
                        sys.exit()
                    if (event.type == pygame.MOUSEBUTTONDOWN):
                        if (p1 != None and p2 != None and p3 != None):
                            if (PlayButton.isClicked(event) == 1):
                                flag = 1
                                p3 = 2

                        if (GRID3.isClicked(event) == 1 and p3 != 2):
                            GRID3.Toggle()
                            GRID10.UnToggle()
                            GRID_SIZE = 3
                            p3 = 1

                        if (GRID10.isClicked(event) == 1 and p3 != 2):
                            GRID10.Toggle()
                            GRID3.UnToggle()
                            GRID_SIZE = 10
                            p3 = 1

                        for i, b in enumerate(buttons1):
                            if (b.isClicked(event) > 0):
                                p1 = deepcopy(self.players[i])
                                for bb in buttons1:
                                    bb.UnToggle()
                                b.Toggle()
                        for i, b in enumerate(buttons2):
                            if (b.isClicked(event) > 0):
                                p2 = deepcopy(self.players[i])
                                for bb in buttons2:
                                    bb.UnToggle()
                                b.Toggle()

            print("!!!")

            #             TicTacToe(needToWin, GRID_SIZE,player1,player2)
            A_TicTacToe = TicTacToe(needToWinDict[GRID_SIZE], GRID_SIZE, p1,
                                    p2, False)
            A_TicTacToe.run()

        pygame.time.wait(30000)