int xOffset = 100; // or whatever you come up with for the left edge
int yOffset = 20; // or whatever you come up with for the top edge
spriteBatch.Draw(greenBrick, new Vector2(x * greenBrick.Width + xOffset, y * greenBrick.Height + yOffset), Color.White);
To get your map 10 wide and 7 tall, you need to reverse your x and y index usage. bound0 is the number of rows (y) and bound1 is the number of columns (x), not the other way around as you are using them.
To draw a blank space when you encounter a zero, just don't draw anything:
However it seems to be scaling the sprite up a bit. Is this because of the texture size? Does it need to be a factor of 2?
It likely needs to be a power of 2. Try resizing the texture to 512x64 (you can leave the actual sprite image in the upper 458x50 of the texture) and specifying a 458x50 source rectangle in the Draw call.
Make sure you don't have extra spaces in this line:
set/a endloop = endloop1 + endloop2
It should be:
Also, numeric values starting with a leading '0' will be treated as octal, so it's possible that some of your lines contain values with leading '0's and digits greater than 7, which would result in an error. I noticed your "map" line has a LoopStart value with leading '0's...
Other than that, I don't see anything wrong with your script.
It's a generic wrapper containing a buffer (blob) of data specific to whatever call you are making. The buffer is accessible through the ID3D11Blob::GetBufferPointer function. You can then cast that pointer to whatever type is specified for whichever function you are calling.
Probably because sizeof(cub.getVertexBuffer()) and sizeof(cub.getIndexBuffer()) don't do what you think they do. Since cub.getVertexBuffer() and cub.getIndexBuffer() return pointers, the sizeof() is giving you the size of a pointer, not the size of the buffer. You need to pass in the actual size of the buffers.
I would suggest searching/browsing these forums for topics similar to yours. This question, in one form or another, is asked on a daily basis here. Also, there's a sticky post at the top of this forum titled "New to the forums? Start here!". I would suggest doing just that. There are some good links in there that should help get you started on the right track.
Modern compilers are much better at optimizing code than they used to be. Without a deep understanding of processor architecture, you're much better off writing clean C++ code, and leaving the assembly-level optimization to the compiler.
The debugger is your best friend here. Step through your shoot and update code and check that they are actually being called and the variables have the expected values and are getting updated as expected. That should tell you where things are going wrong.
As an aside, you do NOT want to be generating a new texture and loading an image every time you draw. You should load the image and generate the texture once, during initialization (or level change), and then just set it on the device (with glBindTexuture) when you draw.