private void playTheGame() { s_TheGame.PlacingFirstGameTokens(); bool endGameByUser = false; while (!s_TheGame.IsGameOver() && !endGameByUser) { Screen.Clear(); this.displayCurrentBoardGameStatus(); endGameByUser = this.playTurnOrQuit(); s_TheGame.ChangePlayerTurn(); } if (!endGameByUser) { Screen.Clear(); this.displayCurrentBoardGameStatus(); this.playersPoints(); this.winnerDeclaration(); this.playAnotherGame(); } else { Console.WriteLine("Have a good day."); } }
private void setOpponentDecisions() { foreach (Minimax.Decision decisionOfOpponent in m_MinimaxTree.Decisions) { byte row = decisionOfOpponent.RowOfDecision; byte col = decisionOfOpponent.ColumnOfDecision; OthelloGame.eGameToken[,] matrixOfTheGameToOpponentsDecisionsTree = m_TheGame.GameStatus; OthelloGame.eGameToken[,] matrixOfTheGameToRemember = new OthelloGame.eGameToken[m_TheGame.GameBoardSize, m_TheGame.GameBoardSize]; OthelloGame.eGameToken[,] matrixToRememberBeforeOpponentsTurn = new OthelloGame.eGameToken[m_TheGame.GameBoardSize, m_TheGame.GameBoardSize]; CopyTokensMatrice(matrixOfTheGameToOpponentsDecisionsTree, matrixOfTheGameToRemember, m_TheGame.GameBoardSize); m_TheGame.AddTokenFromUserToBoard(row, col); m_TheGame.AddWonTokensToBoard(row, col); m_TheGame.ChangePlayerTurn(); findDecisionsForOpponent(matrixOfTheGameToOpponentsDecisionsTree, matrixToRememberBeforeOpponentsTurn, decisionOfOpponent); CopyTokensMatrice(matrixOfTheGameToRemember, matrixOfTheGameToOpponentsDecisionsTree, m_TheGame.GameBoardSize); m_TheGame.ChangePlayerTurn(); } }