Hi guys. I’m trying to get my head around TLists and I think I’ve got the basics. But I’m not sure how to handle one object in the list or even a range of objects? Here is my example, this code creates 1000 particles on the screen and draws a line from point 500, 500 to each one. You can use the arrow keys to move the particles left and right. My question is how I edit my code so I can draw a line to just particle 100 or a range of particles 100 to 200. Maybe even use the up and down arrow keys to select a range. Hope you can help me!
' Adding objects to an object-specific list... Global sp Type Particle Global ParticleList:TList ' The list for all objects of this type... Field x# Field y# ' The New method is called whenever one of these objects is created. If ' the list hasn't yet been created, it's created here. The object is then ' added to the list... Method New () If ParticleList = Null ParticleList = New TList EndIf ParticleList.AddLast Self End Method Function Create:Particle () p:Particle = New Particle p.x = Rnd (1000) p.y = Rnd (1000) End Function Function UpdateAll () ' Better check the list exists before trying to use it... If ParticleList = Null Return ' Run through list... For p:Particle = EachIn ParticleList p.x=p.x+sp DrawLine 500,500,p.x,p.y DrawRect p.x, p.y,8,8 If p.y > GraphicsHeight () p = Null Next End Function End Type Graphics 1024, 768 ' Create 1000 Particles... For loop=1 To 1000 p:Particle = Particle.Create () Next Repeat Cls ' Update all Particle objects... Particle.UpdateAll () If KeyDown(KEY_RIGHT) Then sp=sp+1 If KeyDown(KEY_LEFT) Then sp=sp-1 If sp>5 Then sp=5 If sp<-5 Then sp=-5 Flip Until KeyHit (KEY_ESCAPE) End