def playGame(self) -> None: player1 = Human("X","Player 1") player2 = None players = [player1] numPlayers = self.getNumPlayers() if numPlayers==1: player2 = CPU() player2.setOrder(2) else: player2 = Human("O", "Player 2") players.append(player2) self.modifyTurnOrder(players) turn = 1 playedMoves = [] while not self.board.isGameOver() and turn<=9: self.board.display() print(players[(turn-1)%2].getName()+"'s Turn") move = players[(turn-1)%2].getMove(self.board.getBoard(), turn,copy.copy(playedMoves)) playedMoves.append(move) self.board.update(move,players[(turn-1)%2].getSymbol()) turn+=1 self.board.display() if not self.board.isGameOver(): print("It's a Draw :|") elif self.board.rowWinner()<0 or self.board.columnWinner()<0 or self.board.diagonalWinner()<0: print(players[1].getName(), "wins!") else: print(players[0].getName(), "wins!")