Ejemplo n.º 1
0
        public static eWinner CheckWhoWon(ref int i_BlackCoinsCounter, ref int i_WhiteCoinsCounter)
        {
            eWinner winningPlayerIndex = eWinner.Tie;

            for (int i = 0; i < m_MainBoard.BoardSize; i++)
            {
                for (int j = 0; j < m_MainBoard.BoardSize; j++)
                {
                    if (m_MainBoard.BoardMatrix[i, j] == 'X')
                    {
                        i_BlackCoinsCounter++;
                    }
                    else if (m_MainBoard.BoardMatrix[i, j] == 'O')
                    {
                        i_WhiteCoinsCounter++;
                    }
                }
            }
            if (i_WhiteCoinsCounter > i_BlackCoinsCounter)
            {
                winningPlayerIndex = eWinner.Player2;
            }
            else if (i_WhiteCoinsCounter < i_BlackCoinsCounter)
            {
                winningPlayerIndex = eWinner.Player1;
            }
            else
            {
                winningPlayerIndex = eWinner.Tie;
            }
            return(winningPlayerIndex);
        }
Ejemplo n.º 2
0
        private bool updateWinnerIfFound(bool i_FoundFour, eGameSigns i_VictorySign)
        {
            if (i_FoundFour)
            {
                m_LastWinner = i_VictorySign == eGameSigns.FirstPlayer ? eWinner.FirstPlayer : eWinner.SecondPlayer;
            }

            return(i_FoundFour);
        }
Ejemplo n.º 3
0
        public bool IsOver()
        {
            bool fullBoard   = isFull();
            bool foundWinner = isThereAWinner();

            if (!foundWinner)
            {
                m_LastWinner = eWinner.NoWinner;
            }

            return(foundWinner || fullBoard);
        }