Cycling through alternate types

Blitz3D Forums/Blitz3D Programming/Cycling through alternate types

I got this but I dont know how to cycle through 2 types at once - alternately-
[CODE]

red_p.red_car = first red_car
blue_p.blue_car=first blue_car

for k = 1 to 100
moveentity blue_p\car,0,0,1
moveentity red_p\car,0,0,1
red_p=after red_p
blue_p= after blue_p
next

[/CODE]
but it doesnt let you do it that way, the type identifyer has to be INSIDE the loop which makes it not work.
Is there a way out of this?

maybe you better use only one car type that will hold a color field or something...
Well I am not a type expert, I try to avoid them whenever possible. The situation you have just described might be one reason why I use simple arrays instead.

For the code above to work each type would have to have exactly 100 instances, this code should process both lists synchronously no matter how many items in each list:

red_p.red_car = First red_car
blue_p.blue_car=First blue_car

While red_p<>Null Or blue_p<>Null

	If blue_p<>Null
		MoveEntity blue_p\car,0,0,1
		blue_p= After blue_p
	EndIf

	If red_p<>Null
		MoveEntity red_p\car,0,0,1
		red_p=After red_p
	Next
Wend


What does NULL mean?

1.equals zero
or
2.doesnt exist

In terms of types, NULL means "doesn't exist" (really, the pointer is pointing to memory address 0)

Example: If I create three instances of a type, I'll end up with something like this:

NULL  <- Before First MyType
  |
Instance1.MyType  <- First MyType
  |
Instance2.MyType
  |
Instance3.MyType  <- Last MyType
  |
NULL  <- After Last MyType


So, you can check to see if you've iterated off the end of the list by checking for NULL.