public void ScoreGame() { int[,] PlayerWins = { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 }, { 0, 3, 6 }, { 1, 4, 7 }, { 2, 5, 8 }, { 0, 4, 8 }, { 2, 4, 6 } }; int countX = 0; int countO = 0; for (int i = PlayerWins.GetLowerBound(0); i <= PlayerWins.GetUpperBound(0); i++) { var one = m_Values[PlayerWins[i, 0]]; var two = m_Values[PlayerWins[i, 1]]; var three = m_Values[PlayerWins[i, 2]]; var row = new ValeCell[] { one, two, three }; countX = row.Count(x => x == ValeCell.PlayerX); countO = row.Count(y => y == ValeCell.PlayerO); if (countO == 3 || countX == 3) { GameOver = true; break; } } m_Winner = countX == 3 ? ValeCell.PlayerX : countO == 3 ? ValeCell.PlayerO : ValeCell.Empty; }
string getValueFromBoard(ValeCell obj) { string retVal = ""; switch (obj) { case ValeCell.Empty: retVal = ""; break; case ValeCell.PlayerO: retVal = "O"; break; case ValeCell.PlayerX: retVal = "X"; break; default: break; } return(retVal); }