another types question

BlitzPlus Forums/BlitzPlus Programming/another types question

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Try this
Type players
	Field name$
	Field first_weapon.weapons
	Field last_weapon.weapons
End Type

Type weapons
	Field name$
End Type

Function NewWeapon.weapons(player.players)
	Local weapon.weapons

	If player <> Null
		weapon = New weapons
		If player\last_weapon <> Null
			Insert weapon After player\last_weapon
		Else
			player\first_weapon = weapon
		End If
		player\last_weapon = weapon
		Return weapon
	End If
	Return Null
End Function

player.players = New players
player\name$ = "player1"
weapon.weapons = NewWeapon(player)
weapon\name$ = "gun"
weapon.weapons = NewWeapon(player)
weapon\name$ = "hammer"
weapon.weapons = NewWeapon(player)
weapon\name$ = "sword"

player.players = New players
player\name$ = "player2"
weapon.weapons = NewWeapon(player)
weapon\name$ = "flamethrower"
weapon.weapons = NewWeapon(player)
weapon\name$ = "gun"
weapon.weapons = NewWeapon(player)
weapon\name$ = "grenade"

For player.players = Each players
	Print player\name$
	
	;how to loop through a players weapons
	weapon.weapons = player\first_weapon
	While weapon <> After player\last_weapon And weapon <> Null
		Print " - "+weapon\name$
		weapon = After weapon
	Wend
Next
stop


Blitzmax has the ability to do this properly. Not that is any help for any of us pc users at the moment.