コード例 #1
0
        //check for win or draw.
        async Task CheckResults()
        {
            foreach (var symbol in new List <string> {
                "X", "O"
            })
            {
                if (GameLogic.IsWinningBoard(CurrentGame, symbol))
                {
                    GameOver      = true;
                    CurrentStatus = symbol == "X" ? $"{Settings.Player1} Won!" : $"{Settings.Player2} Won!";
                    await InsertWinner(symbol == "X"? 1 : 2);

                    return;
                }
            }

            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    if (CurrentGame[x, y] == null)
                    {
                        return;
                    }
                }
            }

            //Draw!
            GameOver      = true;
            CurrentStatus = "Game is a draw!";
            await InsertWinner(0);
        }