No, Blitz arrays are 1 dimension only so your only options is to flatten, as you put it:
const MaxY = 10
const MaxX = 5
Type MyT
field Blah
field Arr[ MaxY * MaxX - 1 ]
End Type
global Test.MyT = new MyT
for y = 0 to MaxY-1
for x = 0 to MaxX-1
a = y * MaxX + x
MyT\Arr[ a ] = Blah
next
next
Depending on what you're doing an Array of Types may work for you:
const MaxY = 10
const MaxX = 5
Type MyT
field x#, y#, z#
End Type
Dim ARR.MyT( MaxX-1, MaxY-1)
for y = 0 to MaxY-1
for x = 0 to MaxX-1
ARR( x, y ) = new MyT
ARR( x, y )\x = blah
ARR( x, y )\y = blah
ARR( x, y )\z = blah
next
next
|