Board Thread:Questions and Answers/@comment-24454571-20140517053531/@comment-24454571-20140521013234

Oh wow, this is all starting to make sense to me now. Labelled boxes.

It's all in these two lines: MAP(J,I)=0 IF MID$(MAPLINE$,J,1)=="1" THEN MAP(J,I)=1

Okay - I'm starting to see some more questions where things appear a bit fuzzy to me - MAPLINE$ only stores the value of "I" ( 0 to 23) into Labelled boxes ... wait, omg... This is because it's necessary for the MID$ to go through those DATA lines, correct?

Umm, so MID$ is calling upon MAPLINE$ which contains the value of "I" (because MID$ can't simply accept "I" - I'm not clear why) then it counts "J" as its starting position, because "J" accounts for the Horizontal line (due to the nature of the length of the DATA strings, I presume) and it counts 1 'character' at a time.

Alright, this is still very puzzling... It makes sense that as far as an Array as concerned, its value is set to whatever the "Crane" is looking at, which is why whenever it is filling in a BG spot it knows which J & which I it's looking at, and does this by consecutively READing each item throughout the FOR loop. It won't start over unless you use RESTORE.

Wow - I need to let this sink in and think about what I can do with it; there's still the issue of the Collision Detection part, though - to me it seemed as though the equation wouldn't simply result in a 1 or a 0, but I'm unsure of how the Array is interacting with the equation. How is it accounting for all of the numbers stored into the Array when all that it states is that IF MAP(" "," ")? There isn't a process telling the computer which part of the MAP to look at for this command, is there? That seems like it would produce an error to me.