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); }
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); }
public bool IsOver() { bool fullBoard = isFull(); bool foundWinner = isThereAWinner(); if (!foundWinner) { m_LastWinner = eWinner.NoWinner; } return(foundWinner || fullBoard); }