/// <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)); }
/// <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); }
/// <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); }
/// <inheritdoc /> public Piece Apply(IBoard board) { m_kingMove.Apply(board); return(RookMove.Apply(board)); }