| Hi, I'm trying to code a TETRIS clone and I thought I could use an array of arrays to handle the pieces. I figured out something like this to initialize the arrays.
 At the end there is a bit of code to check out the variables:
 
 
 
Global Piece:Int[][][][]=..
	[..						'start of "Piece" variable
		[..					'Pezzo[0] (O)
			[..				'ROT[0]
				[1,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[1,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[1,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[1,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[0]
,..		
		[..					'Pezzo[1] (|)
			[..				'ROT[0]
				[1,1,1,1],..'X[],Y[0]
				[0,0,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[1,0,0,0],..'X[],Y[0]
				[1,0,0,0],..'X[],Y[1]
				[1,0,0,0],..'X[],Y[2]
				[1,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[1,1,1,1],..'X[],Y[0]
				[0,0,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[1,0,0,0],..'X[],Y[0]
				[1,0,0,0],..'X[],Y[1]
				[1,0,0,0],..'X[],Y[2]
				[1,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[1]
,..		
		[..					'Pezzo[2] (Z)
			[..				'ROT[0]
				[1,1,0,0],..'X[],Y[0]
				[0,1,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[0,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[1,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[1,1,0,0],..'X[],Y[0]
				[0,1,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[0,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[1,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[2]
,..		
		[..					'Pezzo[3] (S)
			[..				'ROT[0]
				[0,1,1,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[1,0,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[0,1,1,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[1,0,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[3]
,..		
		[..					'Pezzo[4] (L)
			[..				'ROT[0]
				[1,0,0,0],..'X[],Y[0]
				[1,0,0,0],..'X[],Y[1]
				[1,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[1,1,1,0],..'X[],Y[0]
				[1,0,0,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[1,1,0,0],..'X[],Y[0]
				[0,1,0,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[0,0,1,0],..'X[],Y[0]
				[1,1,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[4]
,..		
		[..					'Pezzo[5] (J)
			[..				'ROT[0]
				[0,1,0,0],..'X[],Y[0]
				[0,1,0,0],..'X[],Y[1]
				[1,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[1,0,0,0],..'X[],Y[0]
				[1,1,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[1,1,0,0],..'X[],Y[0]
				[1,0,0,0],..'X[],Y[1]
				[1,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[1,1,1,0],..'X[],Y[0]
				[0,0,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[5]
,..		
		[..					'Pezzo[6] (T)
			[..				'ROT[0]
				[0,1,0,0],..'X[],Y[0]
				[1,1,1,0],..'X[],Y[1]
				[0,0,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[0]
			[..				'ROT[1]
				[0,1,0,0],..'X[],Y[0]
				[0,1,1,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[1]
			[..				'ROT[2]
				[0,0,0,0],..'X[],Y[0]
				[1,1,1,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			],..			'\ROT[2]
			[..				'ROT[3]
				[0,1,0,0],..'X[],Y[0]
				[1,1,0,0],..'X[],Y[1]
				[0,1,0,0],..'X[],Y[2]
				[0,0,0,0].. 'X[],Y[3]
			]..				'\ROT[3]
		]..					'\Pezzo[6]		
	]						'End of "Piece" Variable
Graphics 800,600
'DebugStop
For p=0 To 6
	For r=0 To 3
		For y=0 To 3
			For x=0 To 3
				If piece[p][r][y][x]=1 
					SetColor 255,255,255
				Else
					SetColor 255,0,0
				EndIf
				DrawRect(r*65+x*16,y*16+p*65,16,16)
			Next
		Next
	Next
Next
Flip
WaitKey
 
 
 |