private PlayRequest BuildPlayRequest(int[] movePositions)
 {
     PlayRequest PlayRequest = new PlayRequest();
     PlayRequest.TicTacToeBoard = TicTacToeBoard;
     PlayRequest.PositionX = movePositions[1];
     PlayRequest.PositionY = movePositions[0];
     return PlayRequest;
 }
        public PlayResponse Execute(PlayRequest PlayRequest)
        {
            _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer1)) ? _realPlayer2 : _realPlayer1;

            PlayResponse response = _currentPlayer.Play(PlayRequest);
            
            return response;
        }
Esempio n. 3
0
        public PlayResponse Play(PlayRequest playRequest)
        {
            PlayResponse playResponse = new PlayResponse();

            if (playRequest.TicTacToeBoard[playRequest.PositionX][playRequest.PositionY] == ControlEnums.Player.None)
            {
                playRequest.TicTacToeBoard[playRequest.PositionX][playRequest.PositionY] = Player;

                playResponse.TicTacToeBoard = playRequest.TicTacToeBoard;
            }

            playResponse.PlayerWon = _victoryValidator.CheckForVictory(playRequest.TicTacToeBoard, Player);

            return playResponse;
        }
Esempio n. 4
0
        public PlayResponse Play(PlayRequest playRequest)
        {
            PlayResponse playResponse = new PlayResponse();

            if (playRequest.TicTacToeBoard[playRequest.PositionX][playRequest.PositionY] == ControlEnums.Player.None)
            {
                playRequest.TicTacToeBoard[playRequest.PositionX][playRequest.PositionY] = Player;

                playResponse.TicTacToeBoard = playRequest.TicTacToeBoard;
            }

            playResponse.PlayerWon = _victoryValidator.CheckForVictory(playRequest.TicTacToeBoard, Player);

            return(playResponse);
        }
        public PlayResponse Execute(PlayRequest PlayRequest)
        {
            _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer)) ? _AIPlayer : _realPlayer;
            PlayResponse response = _currentPlayer.Play(PlayRequest);

            if (!response.PlayerWon)
            {
                _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer)) ? _AIPlayer : _realPlayer;

                PlayRequest request = new PlayRequest();
                request.TicTacToeBoard = response.TicTacToeBoard;

                response = _currentPlayer.Play(request);
            }

            return response;
        }
Esempio n. 6
0
        public PlayResponse Play(PlayRequest playRequest)
        {
            PlayResponse PlayResponse = new PlayResponse();

            for (int i = 0; i < playRequest.TicTacToeBoard.Count; i++)
            {
                for (int j = 0; j < playRequest.TicTacToeBoard.Count; j++)
                {
                    if (playRequest.TicTacToeBoard[i][j].Equals(ControlEnums.Player.None))
                    {
                        playRequest.TicTacToeBoard[i][j] = Player;

                        PlayResponse.TicTacToeBoard = playRequest.TicTacToeBoard;
                        PlayResponse.PlayerWon      = _victoryValidator.CheckForVictory(playRequest.TicTacToeBoard, Player);

                        return(PlayResponse);
                    }
                }
            }

            PlayResponse.TicTacToeBoard = playRequest.TicTacToeBoard;
            return(PlayResponse);
        }