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)