コード例 #1
0
    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.");
        }
    }
コード例 #2
0
    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();
        }
    }