Überflüssige Kollisionsprüfungen bei Types reduzieren Wie?
Übersicht

![]() |
RallimenSieger des 30-EUR-WettbewerbsBetreff: Überflüssige Kollisionsprüfungen bei Types reduzieren Wie? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
wenn ich ein Array auf Kolli prüfe kann ich ohne Problem verhindern, das schon geprüfte, nochmals geprüft werden ! Aber wie mache ich das bei Types ..... Code: [AUSKLAPPEN] Type Ball Field x End Type
Menge = 99 For t= 0 To Menge : ball.Ball = New Ball : Next ; schleifen zum prüfen von Types For ball1.Ball = Each Ball For ball2.Ball = Each Ball If Ball1 <> Ball2 Then ColliePruef1 = ColliePruef1 +1 Next Next ;schleife um Array zu prüfen For s1 = 0 To Menge -1 For s2 = s1+1 To Menge ColliePruef2 = ColliePruef2 +1 Next Next ;Ausgabe Print ColliePruef1 + " Prüfungen mit Types" Print ColliePruef2 + " Prüfungen mit Arrays" Print ColliePruef1 - ColliePruef2 +" doppelte Prüfungen" WaitKey End |
||
[BB2D | BB3D | BB+]
|
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
For ball1.Ball = Each Ball
ball2=after ball1 while ball2=null ;oder ball2<>null ??? egal ;....... wend Next |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
so ähnlich hatte ich mir das schon gedacht, aber das das so einfach ist....
Danke!!!! Hab das gleich mal umgesetzt ..... Code: [AUSKLAPPEN] Type Ball Field x End Type
Menge = 2000 For t= 0 To Menge : ball.Ball = New Ball :Ball\x = t: Next ; schleifen zum prüfrn von Types Time = MilliSecs() For ball1.Ball = Each Ball For ball2.Ball = Each Ball ;Prüfung If Ball1 <> Ball2 Then ColliePruef1 = ColliePruef1 +1 End If Next Next timer1 = MilliSecs() -time ; schleifen zum prüfen von Types ohne Überflüssige Time = MilliSecs() For ball1.Ball = Each Ball Ball = After Ball1 While ball.ball <> Null ;Prüfung ColliePruef2 = ColliePruef2 +1 Ball = After Ball Wend Next timer2 = MilliSecs() -time ;Ausgabe Print ColliePruef1 + " Prüfungen Alte Version Dauer: " + timer1 Print ColliePruef2 + " Prüfungen Neue Version Dauer: " + timer2 WaitKey End bis zu 3mal schneller das ganze....... |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group