Probleme de data
bon les data sont lu les uns apres les autre a la suite !!
moi j'ai pour habitude de rajouter a la fin des data un chiffre qui est personnel et qui sort du lot !! par exemple !! "888"
comme ça !
de cette facon lorsque je lit les data un par un je regarde leur valeur , et lorsque je tombe sur la valeur 888 je sais que je suis a la fin des data
et seulement la je restore la liste !!
avec ton code (que j'ai pas essayé ) cela donnerai :
[/quote]
moi j'ai pour habitude de rajouter a la fin des data un chiffre qui est personnel et qui sort du lot !! par exemple !! "888"
comme ça !
Code : Tout sélectionner
DataSection
Terrain1 :
Data.f 0 , 1 , 2 , 3 , 4 , 5 , 6,888
EndDataSectionet seulement la je restore la liste !!
avec ton code (que j'ai pas essayé ) cela donnerai :
Code : Tout sélectionner
Procedure Jeux()
;Création des terrain avec les datas :)
StartDrawing(ScreenOutput())
For ligne = 0 To 600
For colonne = 0 To 1
Read sprite
if sprite=888 : Restore Terrain1 : endif
If sprite:Box(102 + ligne , 150 + colonne , 10 , 10 , RGB($A0,$E2,$DF)):EndIf
Next
Next
StopDrawing()
EndProcedure Ton code
a une boucle de 2 et une autre de 601 valeurs donc tu auras 2 * 601 = 1202 appels à tes datas avec Read
tu as If sprite ce qui veut dire que
ne sera effectué que si sprite est différent de 0 et si on regarde tes datas quesqu'on voit ?
la première valeur vaut 0. En clair, même si tu lit cette première valeur, elle ne sera pas interpretée pour dessiner la box
A quoi sert ce if sprite ?
La solution de Dobro est "élégante" pour restaurer las valeurs dans une boucle dont les itérations ne sont pas égales aux nombres de datas.
et puis je rabache
Sprite est un long et tes datas des Float alors fait en sorte que ta variable soit du même type les datas si tu veux récupérer les bonnes valeurs. Ca non plus ca ne semble pas compris
essaye ce code pour te rendre compte et tu verras que ta variable ne récupère pas la valeur correcte des datas sauf le 0
Code : Tout sélectionner
Procedure Jeux()
;Création des terrain avec les datas :)
StartDrawing(ScreenOutput())
Restore Terrain1
For ligne = 0 To 600
For colonne = 0 To 1
Read sprite
If sprite:Box(102 + ligne , 150 + colonne , 10 , 10 , RGB($A0,$E2,$DF)):EndIf
Next
Next
StopDrawing()
EndProcedure
Code : Tout sélectionner
If sprite:Box(102 + ligne , 150 + colonne , 10 , 10 , RGB($A0,$E2,$DF)):EndIf Code : Tout sélectionner
Box(102 + ligne , 150 + colonne , 10 , 10 , RGB($A0,$E2,$DF))Code : Tout sélectionner
DataSection
Terrain1 :
Data.f 0 , 1 , 2 , 3 , 4 , 5 , 6
EndDataSectionA quoi sert ce if sprite ?
La solution de Dobro est "élégante" pour restaurer las valeurs dans une boucle dont les itérations ne sont pas égales aux nombres de datas.
et puis je rabache
Sprite est un long et tes datas des Float alors fait en sorte que ta variable soit du même type les datas si tu veux récupérer les bonnes valeurs. Ca non plus ca ne semble pas compris
essaye ce code pour te rendre compte et tu verras que ta variable ne récupère pas la valeur correcte des datas sauf le 0
Code : Tout sélectionner
For i = 0 To 5
Read sprite
Debug sprite
Next
DataSection
Data.f 0, 1, 2, 3, 4, 5
EndDataSection