Beispiel #1
0
        private void calculatePoints(Board i_PlayingBoard)
        {
            PossibleMoves allPossibleMoves          = new PossibleMoves(i_PlayingBoard);
            ArrayList     firstPlayerPossibleMoves  = allPossibleMoves.FirstPlayerPossibleMoves;
            ArrayList     secondPlayerPossibleMoves = allPossibleMoves.SecondPlayerPossibleMoves;
            int           totalMovesFirstPlayer     = firstPlayerPossibleMoves.Count;
            int           totalMovesSecondPlayer    = secondPlayerPossibleMoves.Count;

            this.m_FirstPlayerCurrentPoints  = calcUserPoints(m_FirstPlayer, i_PlayingBoard);
            this.m_SecondPlayerCurrentPoints = calcUserPoints(m_SecondPlayer, i_PlayingBoard);

            if (totalMovesFirstPlayer == 0 && totalMovesSecondPlayer == 0)
            {
                m_WinnerIsFound = true;
            }
            else if (totalMovesFirstPlayer == 0)
            {
                m_WinnerIsFound = true;
            }
            else if (totalMovesSecondPlayer == 0)
            {
                m_WinnerIsFound = true;
            }
            else
            {
                ArrayList firstUserCoins  = i_PlayingBoard.GetUserCoins(this.m_FirstPlayer.CoinType);
                ArrayList secondUserCoins = i_PlayingBoard.GetUserCoins(this.m_SecondPlayer.CoinType);

                if (firstUserCoins.Count == 0)
                {
                    m_WinnerIsFound = true;
                }
                else if (secondUserCoins.Count == 0)
                {
                    m_WinnerIsFound = true;
                }
            }

            if (m_WinnerIsFound)
            {
                SetWinner();
            }
        }
Beispiel #2
0
        private int calcUserPoints(Player i_CurrentPlayer, Board i_Board)
        {
            int       totalPoints    = 0;
            ArrayList firstUserCoins = i_Board.GetUserCoins(i_CurrentPlayer.CoinType);

            foreach (Coin coin in firstUserCoins)
            {
                totalPoints += coin.IsKing ? 4 : 1;
            }

            return(totalPoints);
        }