Type problem
Übersicht

TeDy14GastBetreff: Type problem |
![]() Antworten mit Zitat |
|
---|---|---|
Hallo
Ich bastel imho an einem kleinen pixel system aber hab irgenteinen denkfehler im code >.< Habs schonmal ganz neu gemacht kam aber wieder das selbe Problem. Also hier erstmal der Code: Code: [AUSKLAPPEN] Graphics 800,600,2
SetBuffer BackBuffer() Type pixel Field id$ Field x Field y Field typ Field gew Field r Field g Field b End Type SeedRnd(MilliSecs()) For a=0 To 100 p.pixel=New pixel p\x=200 p\y=Rand(0,600) p\typ=1 p\id$=Rand(1,10000)+"|"+Rand(1,1000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000) Next While Not KeyHit(1) For p.pixel = Each pixel If p\typ=1 For p1.pixel = Each pixel If p1\y-1=p\y And p\id$<>p1\id$ Then Text 10,20,"Da":unten=0:Else unten=1 Next If unten=1 And p\y<599 Then p\y=p\y+1 EndIf Plot p\x,p\y Next If MilliSecs()>=zeit+1000 Then zeit=MilliSecs() fps=flips flips=0 End If Text 10,10,fps+" "+num Flip(): flips=flips+1 Cls() Wend Also ich erstelle 100 pixel die dann runterfallen und aufeinander liegen sollen nur geht das nur bei einem pixel ... also es ligt nur 1 pixel auf einem anderen und die anderen liegen irgentwie dahinter oder so... Sieht einer den Fehler ? TeDy |
||
phil217 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jop, hab den fehler gefunden(ich habs auch noch bissl hin und her geschoben damits für mich übersichtlicher wird)
du hattest kein exit in der schleife, dadurch war dein "unten" immer 1 (du könntest natürlich auch das "unten = 1" for die for-each schleife legen, dann gehts auch) Code: [AUSKLAPPEN] Graphics 800,600,2 SetBuffer BackBuffer() Type pixel Field id$ Field x Field y Field typ Field gew Field r Field g Field b End Type SeedRnd(MilliSecs()) For a=0 To 100 p.pixel=New pixel p\x=200 p\y=Rand(0,600) p\typ=1 p\id$=a;Rand(1,10000)+"|"+Rand(1,1000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000)+"|"+Rand(1,10000000) Next While Not KeyHit(1) Cls() For p.pixel = Each pixel If p\typ=1 For p1.pixel = Each pixel If p\y+1=p1\y Text 10,20,"Da" unten=0 Exit Else unten=1 EndIf Next If unten=1 And p\y<599 p\y=p\y+1 EndIf EndIf Plot p\x,p\y Next If MilliSecs()>=zeit+1000 Then zeit=MilliSecs() fps=flips flips=0 End If Text 10,10,fps+" "+num Flip() flips=flips+1 Wend End |
||
TeDy14Gast |
![]() Antworten mit Zitat |
|
---|---|---|
Ach danke ...
Darauf wär ich in 10 jahren nicht gekommen obwohl es so leicht ist xD |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würd' vorschlagen die ID etwas sinnvoller zu gestallten:
Code: [AUSKLAPPEN] p\id=handle(p) Die ist eindeutiger und sinnvoller als 1 Mio. Zufallszahlen...
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
phil217 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
oder man nummeriert sie einfach fortlaufend (p\id$=a), hatte ich ja geändert | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group