DE LA BELLE NEIGE !

mémère - 25 mars 2001 à 10:20
jonathan8335 Messages postés 1 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 5 avril 2003 - 5 avril 2003 à 23:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/793-de-la-belle-neige

jonathan8335 Messages postés 1 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 5 avril 2003
5 avril 2003 à 23:26
Si tu veux accumuler la neige, construit un tableau a 2 dimensions (de longueur et largeur de la form) où quand un pixel de ce tableau est rempli par un chiffre 0 (0 ou 1 par ex, 0 designant qu'il est vide) alors met un point blanc sinon c'est qu'il est rempli et met un point blanc sur le pixel situé au-dessus .....
Excuse-moi si je n'ai pas été clair .....
LU,
punaise vous pourriez mettr un zip avec un exempl ki fonctionne :-(

Parce ke franchement kan sa foire et ke l'on ne trouve pas son erreur ces tres chiant

merci et @ +
Pour le programme " la neige tombé sur la form"
Pour qu'elle s'accumulle dans le bas:
1- Ajouter un PictureBox (p) et modifier ses propriétés
p.Align =2 (Align Bottom)
p.borderStyle =0 (None)
p.Appearance=0 (Flat)
p.Bakcolor=Blanc

2- Variable Global :
Dim Epesse as Variant

3- Dans Form_Load():
Epesse=0
p.Height = Epesse

'On peut reinitialiser Epesse et p.Height=0 avec un bouton
'ou lorsque p.Height=Form.Height...

4- Ajouter de ligne dans Le Timer1_Timer()
p.Height = Epesse
Epesse = Epesse + 0.03 (0.03 ou plus ou moins selon votre gout)

Private Sub Timer1_Timer()
Do While Not (DoEvents = 0)
Me.Cls
For i = 1 To 200
'Vitesse à laquelle la neige tombe
Vitesse(i) = Int((50 * Rnd) + 1)
'Déplacement de la neige de gauche à droite
Mouvement(i) = Int((-5 * Rnd) + 5)
'Patente kié dure a comprendre
NeigeX(i) = NeigeX(i) + Mouvement(i)
NeigeY(i) = NeigeY(i) + Vitesse(i)
'Si la neige dépasse le fond
If NeigeY(i) > Me.ScaleHeight Then
NeigeY(i) = 0
NeigeX(i) = Int(((Me.ScaleWidth) * Rnd) + 1)
p.Height = Epesse 'Ajouter cette ligne

End If
'Si la neige dépasse les côtés
If NeigeX(i) > Me.ScaleWidth Then
NeigeY(i) = 0
NeigeX(i) = Int(((Me.ScaleWidth) * Rnd) + 1)
End If
Circle (NeigeX(i), NeigeY(i)), 2, RGB(255, 255, 255)
Next i
Epesse = Epesse + 0.03 'Varier le 0.03 seulon la vitesse de création de la bande de neige
Me.Refresh
Loop

End Sub
Ke dire, j'pleure, pire j'm'extasie dvt tant de beauté pure!!...
Yep, cé beau! Suis juste déçu ke qqu'1 ait trouvé avt moi!!! ;-) Pô grave, par contre j'essaierai de voir pr ke la neige s'accumule au fond sans kiter!.. Ki m'offre des nuits blanches avec pizza & Badoit à gogo??? ;-))
Rooooh... Que c'est beau!
Rejoignez-nous