Having difficulty with Arrays of Types...

Blitz3D Forums/Blitz3D Beginners Area/Having difficulty with Arrays of Types...

If I understand what you want to do correctly, I'd do it like this:

	Type tankT
		; Put any other tank fields you require here!
	    Field x#[4]	; Arrays to store tank positions:
		Field y#[4]	; x[0],y[0],z[0] is tank's current position,
		Field z#[4]	; x[1],y[1],z[1] is tank's previous postion etc.
	End Type
	
	my_tank.tankT = New tankT
	position_tank(my_tank,1,2,3)	; Set tanks initial position.
	
	While Not KeyHit(1)
		Cls
		If KeyHit(57) Then position_tank(my_tank,Rand(1,100),Rand(1,100),Rand(1,100))
		Text 10,10,"  Current pos: x=" + my_tank\x[0] + " y=" + my_tank\y[0] + " z=" +  my_tank\z[0]
		Text 10,30,"Previous pos1: x=" + my_tank\x[1] + " y=" + my_tank\y[1] + " z=" +  my_tank\z[1]
		Text 10,50,"Previous pos2: x=" + my_tank\x[2] + " y=" + my_tank\y[2] + " z=" +  my_tank\z[2]
		Text 10,70,"Previous pos3: x=" + my_tank\x[3] + " y=" + my_tank\y[3] + " z=" +  my_tank\z[3]
		Text 10,90,"Previous pos4: x=" + my_tank\x[4] + " y=" + my_tank\y[4] + " z=" +  my_tank\z[4]
		Text 10,120,"Presss SPACEBAR to move tank to new position"
		Flip
	Wend
	End
	
Function position_tank(tank.tankT, x#, y#, z#)

	For i = 4 To 1 Step -1
		tank\x[i] = tank\x[i-1]
		tank\y[i] = tank\y[i-1]
		tank\z[i] = tank\z[i-1]
	Next
	
	tank\x[0] = x
	tank\y[0] = y
	tank\z[0] = z
	
End Function