...
Code : Tout sélectionner
#scrw = 800
#scrh = 600
#scrd = 32
;-------- Init all needed Stuff --------
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageBox_ (0,"Can't open DirectX 7 or later", "0", #MB_ICONINFORMATION|#MB_OK)
End
EndIf
If OpenScreen(#scrw,#scrh,#scrd,"0") = 0
MessageBox_ (0,"Could not open screen", "0", #MB_ICONINFORMATION|#MB_OK)
End
EndIf
CreateSprite(0,#scrw,#scrh)
StartDrawing(SpriteOutput(0))
Circle(31,31,31,1)
chaine$=""
For u= 0 To 63
For i=0 To 63
If Point (i,u)>0
chaine$+"1"
Else
chaine$+"0"
EndIf
Next
Next
StopDrawing()
Repeat
DisplaySprite(0,0,0)
x = Random (200) : y = Random (150)
x + Random (200) : y + Random (150)
x = x + Random (300) : y = y + Random(200)
x = x + 50 : y = y + 50
pos=1
StartDrawing(SpriteOutput(0))
zz = Random(5000) + 1000
For u= 0 To 63
For i=0 To 63
a$=Mid(chaine$,pos,1) : pos+1
If a$="1"
z=Point (x + i,y + u)
If z>=0
Plot (x + i, y + u, z + zz)
EndIf
EndIf
Next
Next
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
bien joué Comtois
tout simple
autre remarque avant que tu ne rale sur la lenteur de ton code :
pourquoi utilises tu une chaine et pas un tableau ? un string est super lent à gérer
et à quoi sert le test If z >= 0
une couleur peut-ête négative ???
il manque la vérification du dépassement de format de la couleur aussi
chez moi, ça va a vu d'oeil 2 fois plus vite sur mon 500mhz

autre remarque avant que tu ne rale sur la lenteur de ton code :
pourquoi utilises tu une chaine et pas un tableau ? un string est super lent à gérer
et à quoi sert le test If z >= 0
une couleur peut-ête négative ???
il manque la vérification du dépassement de format de la couleur aussi
Code : Tout sélectionner
#scrw = 800
#scrh = 600
#scrd = 32
;- ------- Init all needed Stuff --------
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageBox_ (0, "Can't open DirectX 7 or later", "0", #MB_ICONINFORMATION | #MB_OK)
End
EndIf
If OpenScreen(#scrw, #scrh, #scrd, "0") = 0
MessageBox_ (0, "Could not open screen", "0", #MB_ICONINFORMATION | #MB_OK)
End
EndIf
Dim Tableau.b(63, 63)
CreateSprite(0, #scrw, #scrh)
StartDrawing(SpriteOutput(0))
Circle(31, 31, 31, 1)
For u = 0 To 63
For i = 0 To 63
Tableau(u, i) = Point(u, i)
Next
Next
StopDrawing()
Repeat
DisplaySprite(0, 0, 0)
x = Random(800) : y = Random(600)
StartDrawing(SpriteOutput(0))
zz = Random(5000)
For u = 0 To 63
For i = 0 To 63
If Tableau(u, i)
z = Point(x + i, y + u) + zz
If z > $FFFFFF ; En cas de dépassement de format pour la couleur qui doit être comprise entre 0 et $FFFFFF
z = z - $FFFFFF
EndIf
Plot(x + i, y + u, z)
EndIf
Next
Next
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
