Multi TYPE

Blitz3D Forums/Blitz3D Beginners Area/Multi TYPE

Baley(Posted 2004) [#1]
Is it possible to do something like this in Blitz ? :
Type Colum
 Field Y[4]
End Type

Type Types
 Field X.Colum[4]
End Type

Type StoneInfo
 Field Mode.Types[4]
 Field Colour%
 Field pX%
 Field pY%
 Field pStart%
End Type

test.StoneInfo=New StoneInfo
test\Mode[0]\X[1]\Y[3]=1


It doesn't work properly, I guess there is something more to initialize (New) . Thanks for any hint.


Tiger(Posted 2004) [#2]
Yes you can try this:
Type Colum
 Field Y[4]
End Type

Type Types
 Field X.Colum[4]
End Type

Type StoneInfo
 Field Mode.Types[4]
 Field Colour%
 Field pX%
 Field pY%
 Field pStart%
End Type

Local Test.StoneInfo
Test=New StoneInfo
Test\Mode[0]=New Types
Test\Mode[0]\X[0]=New Colum
Test\Mode[0]\X[0]\Y[0]=3
Print Test\Mode[0]\X[0]\Y[0]
;Delete them all
Delete Test\Mode[0]\X[0]
Delete Test\Mode[0]
Delete Test
WaitKey


But it gets a little bit complicated after a while. :)


REDi(Posted 2004) [#3]
Type Colum
 Field Y[4]
End Type

Type Types
 Field X.Colum[4]
End Type

Type StoneInfo
 Field Mode.Types[4]
 Field Colour%
 Field pX%
 Field pY%
 Field pStart%
End Type

test.StoneInfo=New StoneInfo
test.StoneInfo\Mode.Types[0] = New Types
test.StoneInfo\Mode.Types[0]\X.Colum[0] = New Colum

test\Mode.Types[0]\X.Colum[0]\Y.Colum[0] = 10
Print test\Mode.Types[0]\X.Colum[0]\Y.Colum[0]
WaitKey


Damn you beat me to it :)


Baley(Posted 2004) [#4]
Thank you ! And to handle the arrays I should add this right?
Type Colum
 Field Y[4]
End Type

Type Types
 Field X.Colum[4]
End Type

Type StoneInfo
 Field Mode.Types[4]
 Field Colour%
 Field pX%
 Field pY%
 Field pStart%
End Type

Test.StoneInfo=New StoneInfo

For i=0 To 4
 Test\Mode[i]=New Types
 For j=0 To 4
  Test\Mode[i]\X[j]=New Colum
 Next
Next

Test\Mode[1]\X[2]\Y[3]=3


It seems to work indeed, thanks.


REDi(Posted 2004) [#5]
Indeed, you learn quickly :)