kilomaster
Messages postés130Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 6 décembre 2006
-
20 mai 2003 à 15:14
cs_orisa
Messages postés38Date d'inscriptionlundi 18 mars 2002StatutMembreDernière intervention29 octobre 2003
-
22 mai 2003 à 18:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_orisa
Messages postés38Date d'inscriptionlundi 18 mars 2002StatutMembreDernière intervention29 octobre 2003 22 mai 2003 à 18:30
Pour yoman64 : dans le principe tu as raison, mais ton code me donne un dépassement de capacité au bout d'un certain temps. J'avais essayé de ne faire qu'une seule boucle, mais j'ai toujours eu de petits problèmes qui m'on empéché de réussir :)
Pour WhiteDwarf : tu as raison : il n'y en a aucun. En fait si : il y en a un, je pense que tu n'as pas regardé le code de kilomaster ! Mon code donne le même effet (certes avec quelques fonctionnalités de moins) mais en 5 fois moins de lignes de code... l'obtimisation est à mes yeux un 'interret' comme tu dis...
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 21 mai 2003 à 20:42
je ne vois pas l'interet de dévelloper des trucs qui ont déja été fait en mieu sur le site... sinon, je ne critique pas, c'est pas mal... et c'est simple comme code mais puissant.
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 21 mai 2003 à 18:11
Tu ne crois pas qu'on gagnerais en vitesse si on fesais plutot:
Dim XTab(1 To 60) As Integer,YTab(1 To 60) As Integer , CTab(1 To 420) As String * 1
Private Sub Form_Load()
For i = 1 To 60
If YTab(i) > Height Or YTab(i) = 0 Then 'initialisation ou bordure
XTab(i) = Int(Rnd * Width)
YTab(i) = Int(Rnd * Height)
End If
Next i
End Sub
Private Sub Timer1_Timer()
Dim i As Integer
Cls
For i = 1 To 420
if i<60 then
If YTab(i) > Height Or YTab(i) = 0 Then
XTab(i) = Int(Rnd * Width)
YTab(i) = Int(Rnd * Height)
End If
End if
If Rnd > 0.8 Then CTab(i) = Chr(Rnd * 255)
CurrentX = XTab(i - 60 * Int(i / 60) + 1)
CurrentY = YTab(i - 60 * Int(i / 60) + 1) - i * 3
YTab(i - 60 * Int(i / 60) + 1) = YTab(i - 60 * Int(i / 60) + 1) + 10
ForeColor = RGB(0, 255 - 10 * (Int(i / 30)), 0)
Print CTab(i) 'on affiche
Next i
End Sub
Je dit sa dememe mais de cet maniere on execute seulement un for dans le timer ce qui fait que l'execution est plus rapide
dans le timer et sa ne fait pas laguer le reste du prog...
@++
anduril22
Messages postés75Date d'inscriptionmardi 5 mars 2002StatutMembreDernière intervention 5 octobre 2005 21 mai 2003 à 12:11
Weado, j'ai vu animatix, c'est vrai que c'est pas mal fait. Mais on est pas pret d'en voir ici lol :)
mathieumg
Messages postés558Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention18 février 2006 21 mai 2003 à 03:56
Je suis exactement du même avis que yoman64 !
Weado
Messages postés119Date d'inscriptionmercredi 19 juin 2002StatutMembreDernière intervention21 avril 2009 21 mai 2003 à 00:06
a quand les programmes d'animatrix?
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 20 mai 2003 à 17:49
On voit bie l'effet que le nouveau film de la matrice a sur vous...3 matrice en trois jour!
Mais c'Est sur que vos source (ainsi que le film) sont remarquable.
Mais essayer dajouter des effets...
cs_orisa
Messages postés38Date d'inscriptionlundi 18 mars 2002StatutMembreDernière intervention29 octobre 2003 20 mai 2003 à 16:28
c'est clair que c'est pas le top, mais ce n'était pas le but non plus. c'est pratiquement le même effet graphique que le code de kilomaster en 3 ou 4 fois moins de lignes, c'est tout. c'était ça le but que j'ai recherché.
cs_slayer
Messages postés202Date d'inscriptiondimanche 1 septembre 2002StatutMembreDernière intervention18 mars 2008 20 mai 2003 à 16:21
Bof, coté programmation, c'est vraie que c'est plus court, mais coté effets c'est vraiment pas le top !!!
kilomaster
Messages postés130Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 6 décembre 2006 20 mai 2003 à 15:14
22 mai 2003 à 18:30
Pour WhiteDwarf : tu as raison : il n'y en a aucun. En fait si : il y en a un, je pense que tu n'as pas regardé le code de kilomaster ! Mon code donne le même effet (certes avec quelques fonctionnalités de moins) mais en 5 fois moins de lignes de code... l'obtimisation est à mes yeux un 'interret' comme tu dis...
21 mai 2003 à 20:42
21 mai 2003 à 18:11
Dim XTab(1 To 60) As Integer,YTab(1 To 60) As Integer , CTab(1 To 420) As String * 1
Private Sub Form_Load()
For i = 1 To 60
If YTab(i) > Height Or YTab(i) = 0 Then 'initialisation ou bordure
XTab(i) = Int(Rnd * Width)
YTab(i) = Int(Rnd * Height)
End If
Next i
End Sub
Private Sub Timer1_Timer()
Dim i As Integer
Cls
For i = 1 To 420
if i<60 then
If YTab(i) > Height Or YTab(i) = 0 Then
XTab(i) = Int(Rnd * Width)
YTab(i) = Int(Rnd * Height)
End If
End if
If Rnd > 0.8 Then CTab(i) = Chr(Rnd * 255)
CurrentX = XTab(i - 60 * Int(i / 60) + 1)
CurrentY = YTab(i - 60 * Int(i / 60) + 1) - i * 3
YTab(i - 60 * Int(i / 60) + 1) = YTab(i - 60 * Int(i / 60) + 1) + 10
ForeColor = RGB(0, 255 - 10 * (Int(i / 30)), 0)
Print CTab(i) 'on affiche
Next i
End Sub
Je dit sa dememe mais de cet maniere on execute seulement un for dans le timer ce qui fait que l'execution est plus rapide
dans le timer et sa ne fait pas laguer le reste du prog...
@++
21 mai 2003 à 12:11
21 mai 2003 à 03:56
21 mai 2003 à 00:06
20 mai 2003 à 17:49
Mais c'Est sur que vos source (ainsi que le film) sont remarquable.
Mais essayer dajouter des effets...
20 mai 2003 à 16:28
20 mai 2003 à 16:21
20 mai 2003 à 15:14
8/10