static Color OccupierToColor(Occupier Occupier)
        {
            switch (Occupier)
            {
            case Occupier.Player1:
                return(Colors.Red);

            default:
                return(Colors.Blue);
            }
        }
        static Color OccupierToColor(Occupier Occupier)
        {
            switch (Occupier)
            {
                case Occupier.Player1:
                    return Colors.Red;

                default:
                    return Colors.Blue;
            }
        }
Beispiel #3
0
        async void OnGameOver(Occupier Winner)
        {
            WinnerLabel.Content = WinnerTextToDisplay(Winner);

            WinnerLabel.Visibility = Visibility.Visible;

            await Task.Delay(2000);

            WinnerLabel.Visibility = Visibility.Collapsed;

            _mainViewModel.StartNewGame();
        }
        async void OnGameOver(Occupier Winner)
        {
            WinnerLabel.Content = WinnerTextToDisplay(Winner);

            WinnerLabel.Visibility = Visibility.Visible;

            await Task.Delay(2000);

            WinnerLabel.Visibility = Visibility.Collapsed;

            _mainViewModel.StartNewGame();
        }
Beispiel #5
0
        string WinnerTextToDisplay(Occupier Winner)
        {
            switch (Winner)
            {
            case Occupier.ComputerOrPlayer2:
                return(_mainViewModel.GameType == GameType.SinglePlayer ? "Computer Won" : "Player 2 Won");

            case Occupier.Player1:
                return(_mainViewModel.GameType == GameType.SinglePlayer ? "You Won" : "Player 1 Won");

            default:
                return("Draw");
            }
        }
        static string OccupierToContent(Occupier Occupier)
        {
            switch (Occupier)
            {
                case Occupier.Player1:
                    return "O";

                case Occupier.ComputerOrPlayer2:
                    return "X";

                default:
                    return null;
            }
        }
        string WinnerTextToDisplay(Occupier Winner)
        {
            switch (Winner)
            {
                case Occupier.ComputerOrPlayer2:
                    return _mainViewModel.GameType == GameType.SinglePlayer ? "Computer Won" : "Player 2 Won";

                case Occupier.Player1:
                    return _mainViewModel.GameType == GameType.SinglePlayer ? "You Won" : "Player 1 Won";

                default:
                    return "Draw";
            }
        }
        static string OccupierToContent(Occupier Occupier)
        {
            switch (Occupier)
            {
            case Occupier.Player1:
                return("O");

            case Occupier.ComputerOrPlayer2:
                return("X");

            default:
                return(null);
            }
        }
        void FindWinner(Occupier Occupier)
        {
            var isWon = false;

            for (var n = 0; n < 8; ++n)
            {
                if (_waysToWin[n, 0].Occupier != Occupier
                    || _waysToWin[n, 1].Occupier != Occupier
                    || _waysToWin[n, 2].Occupier != Occupier)
                    continue;

                isWon = true;
                break;
            }

            if (isWon)
            {
                if (Occupier == Occupier.Player1)
                {
                    if (GameType == GameType.SinglePlayer)
                        Stats.SinglePlayer.Player.Increment(Level);

                    else Stats.TwoPlayer.Player1++;

                    _playerStarts = true;

                    GameOver?.Invoke(Occupier.Player1);
                }

                else
                {
                    if (GameType == GameType.SinglePlayer)
                        Stats.SinglePlayer.Computer.Increment(Level);

                    else Stats.TwoPlayer.Player2++;

                    _playerStarts = false;

                    GameOver?.Invoke(Occupier.ComputerOrPlayer2);
                }
            }

            else
            {
                if (_done > 8)
                {
                    if (GameType == GameType.SinglePlayer)
                        Stats.SinglePlayer.Draws.Increment(Level);

                    else Stats.TwoPlayer.Draws++;

                    _playerStarts = !_playerStarts;
                    GameOver?.Invoke(Occupier.None);
                }

                else if (Occupier == Occupier.Player1
                         && GameType == GameType.SinglePlayer)
                    ComputerTurn();
            }
        }
Beispiel #10
0
        void FindWinner(Occupier Occupier)
        {
            var isWon = false;

            for (var n = 0; n < 8; ++n)
            {
                if (_waysToWin[n, 0].Occupier != Occupier ||
                    _waysToWin[n, 1].Occupier != Occupier ||
                    _waysToWin[n, 2].Occupier != Occupier)
                {
                    continue;
                }

                isWon = true;
                break;
            }

            if (isWon)
            {
                if (Occupier == Occupier.Player1)
                {
                    if (GameType == GameType.SinglePlayer)
                    {
                        Stats.SinglePlayer.Player.Increment(Level);
                    }

                    else
                    {
                        Stats.TwoPlayer.Player1++;
                    }

                    _playerStarts = true;

                    GameOver?.Invoke(Occupier.Player1);
                }

                else
                {
                    if (GameType == GameType.SinglePlayer)
                    {
                        Stats.SinglePlayer.Computer.Increment(Level);
                    }

                    else
                    {
                        Stats.TwoPlayer.Player2++;
                    }

                    _playerStarts = false;

                    GameOver?.Invoke(Occupier.ComputerOrPlayer2);
                }
            }

            else
            {
                if (_done > 8)
                {
                    if (GameType == GameType.SinglePlayer)
                    {
                        Stats.SinglePlayer.Draws.Increment(Level);
                    }

                    else
                    {
                        Stats.TwoPlayer.Draws++;
                    }

                    _playerStarts = !_playerStarts;
                    GameOver?.Invoke(Occupier.None);
                }

                else if (Occupier == Occupier.Player1 &&
                         GameType == GameType.SinglePlayer)
                {
                    ComputerTurn();
                }
            }
        }