Quote: "You can treat any multi-dimensional array as if it were a 1D array"
Now that REALLY messes up my head. I'll have to play around with that for sure.
Here's my no-math, no-modulo solution for the original problem... brute force and not pretty.
dim nArray(8,8)
for y=1 to 8
for x=1 to 8
read nArray(x,y)
next x
next y
xPos=1
yPos=1
do
cls
for y=1 to 4
for x=1 to 4
if nArray(x,y)<10 then print " ";
print nArray(x,y);" ";
next x
print ""
next y
print ""
print ""
for y=yPos to yPos+2
for x=xPos to xPos+2
if nArray(x,y)<10 then print " ";
print nArray(x,y);" ";
next x
print ""
next y
print ""
print "x offset is ";xPos
print "y offset is ";yPos
wait 100
if leftkey()
dec xPos
if xPos=0 then xPos=4
endif
if rightkey()
inc xPos
if xPos=5 then xPos=1
endif
if upkey()
dec yPos
if yPos=0 then yPos=4
endif
if downkey()
inc yPos
if yPos=5 then yPos=1
endif
loop
data 1,2,3,4,1,2,3,4
data 5,6,7,8,5,6,7,8
data 9,10,11,12,9,10,11,12
data 13,14,15,16,13,14,15,16
data 1,2,3,4,1,2,3,4
data 5,6,7,8,5,6,7,8
data 9,10,11,12,9,10,11,12
data 13,14,15,16,13,14,15,16