예제 #1
0
        public bool PlayTurn(PlayerName playerType, Piece piece, CoOrdinate to)
        {
            var     player  = _playerDetailsByType[playerType];
            History history = _boardState.GetState(_board.CurrentMoveNumber);

            if (player.IsValidMove(piece, to, history))
            {
                player.PlayTurn(piece, to);
                _board.UpdateState(piece);
                _status = _boardState.GetStatus(_board.CurrentMoveNumber);
                return(true);
            }
            return(false);
        }