示例#1
0
        /// <inheritdoc />
        public Piece Apply(IBoard board)
        {
            // TODO: Move this to the reducer
            // EnPassant.Mark(new SimpleMarker(MarkerType.EnPassant, To, Direction.None));

            return(m_pawnMove.Apply(board));
        }
示例#2
0
        /// <inheritdoc />
        public Piece Apply(IBoard board)
        {
            var taken = m_pawnMove.Apply(board);
            var pawn  = board[m_pawnMove.To];

            board[m_pawnMove.To] = new Piece(PieceType.Queen, pawn.Color, pawn.Edge);

            return(taken);
        }
示例#3
0
        /// <summary>
        /// The location where the Pawn to be taken is.
        /// </summary>

        /// <inheritdoc />
        public Piece Apply(IBoard board)
        {
            var taken = board[m_pawnLocation];

            board[m_pawnLocation] = Piece.Empty;

            m_pawnMove.Apply(board);

            return(taken);
        }
示例#4
0
        /// <inheritdoc />
        public Piece Apply(IBoard board)
        {
            m_kingMove.Apply(board);

            return(RookMove.Apply(board));
        }