Accueil > > > ENFIN DE LA NEIGE QUI S'ACCUMULE VRAIMENT !
ENFIN DE LA NEIGE QUI S'ACCUMULE VRAIMENT !
Information sur la source
Description
Pour départager tous ceux qui se sont tappés dessus pour une histoire de flocons, j'ai fait un ptit prog que vous pouvez pas faire mieux ! (a part en rajoutant des lois physiques sur l'accumulation de la neige)
pour ce source, il faut :
- Un formulaire (Form1)
- Un timer (Timer1) avec un interval de 25ms (a vous d'ajuster !)
- Un label (Label1) a placer en haut a gauche
Source
- 'Par Setaou
- 'http://setaou.ctw.cc
-
- Private Type Floc
- X As Integer
- Y As Integer
- End Type
- Dim Flocon() As Floc, Maxi As Integer, Tas() As Long
-
- Private Sub Form_Click()
- Timer1.Enabled = Not Timer1.Enabled 'Arrête ou remet le timer
- End Sub
-
- Private Sub Form_Resize()
- Form1.ScaleMode = 3
- Form1.Cls 'Efface le form
-
- Maxi = (Form1.Width + Form1.Height) / 100 ' Caclule le nombre max de flocons
- ReDim Flocon(Maxi) 'Redimmentionne les tableaux
- ReDim Tas(Form1.ScaleWidth)
-
- For i = 1 To Maxi 'Place aléatoirement les flocons sur le form
- Flocon(i).X = Int(Rnd * Form1.ScaleWidth + 1)
- Flocon(i).Y = Int(Rnd * Form1.ScaleHeight + 1)
- Next i
- End Sub
-
- Private Sub Timer1_Timer()
- On Error Resume Next
- For i = 1 To Maxi
-
- PSet (Flocon(i).X, Flocon(i).Y), Form1.BackColor 'Efface l'ancienne position du flocon
-
- Flocon(i).Y = Flocon(i).Y + Int(Rnd * 10 + 1) ' Calcule la nouvelle position
- Flocon(i).X = Flocon(i).X + Int(Rnd * 10 - 5)
-
- If Flocon(i).X < 0 Then Flocon(i).X = Form1.ScaleWidth ' Si le flocon sort par la droite ou la gauche
- If Flocon(i).X > Form1.ScaleWidth Then Flocon(i).X = 1
-
- If Flocon(i).Y >= Form1.ScaleHeight - Tas(Flocon(i).X) Then 'si le flocon tombe sur le tas
- Select Case Tas(Flocon(i).X)
- Case Is > Tas(Flocon(i).X - 2): Tas(Flocon(i).X - 2) = Tas(Flocon(i).X - 2) + 1
- Case Is > Tas(Flocon(i).X + 2): Tas(Flocon(i).X + 2) = Tas(Flocon(i).X + 2) + 1
- Case Is > Tas(Flocon(i).X - 1): Tas(Flocon(i).X - 1) = Tas(Flocon(i).X - 1) + 1
- Case Is > Tas(Flocon(i).X + 1): Tas(Flocon(i).X + 1) = Tas(Flocon(i).X + 1) + 1
- Case Else: Tas(Flocon(i).X) = Tas(Flocon(i).X) + 1
- End Select
- Line (Flocon(i).X, Form1.ScaleHeight - Tas(Flocon(i).X))-(Flocon(i).X, Form1.ScaleHeight), vbWhite 'Dessine une partie du tas
- Flocon(i).Y = 0 'Replace le flocon en haut
- Flocon(i).X = Int(Rnd * Form1.ScaleWidth + 1)
- End If
-
- PSet (Flocon(i).X, Flocon(i).Y), vbWhite 'Affiche le flocon
-
- Next i
-
- For i = 1 To Form1.ScaleWidth
- j = j + Tas(i)
- Next i
- j = j / Form1.ScaleWidth
- Label1.Caption = Maxi & " Flocons de neige"
- Label1.Caption = Label1.Caption & " - Epaisseur moyenne de la neige : " & Format(j, "0.000") & "px"
- End Sub
'Par Setaou
'http://setaou.ctw.cc
Private Type Floc
X As Integer
Y As Integer
End Type
Dim Flocon() As Floc, Maxi As Integer, Tas() As Long
Private Sub Form_Click()
Timer1.Enabled = Not Timer1.Enabled 'Arrête ou remet le timer
End Sub
Private Sub Form_Resize()
Form1.ScaleMode = 3
Form1.Cls 'Efface le form
Maxi = (Form1.Width + Form1.Height) / 100 ' Caclule le nombre max de flocons
ReDim Flocon(Maxi) 'Redimmentionne les tableaux
ReDim Tas(Form1.ScaleWidth)
For i = 1 To Maxi 'Place aléatoirement les flocons sur le form
Flocon(i).X = Int(Rnd * Form1.ScaleWidth + 1)
Flocon(i).Y = Int(Rnd * Form1.ScaleHeight + 1)
Next i
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
For i = 1 To Maxi
PSet (Flocon(i).X, Flocon(i).Y), Form1.BackColor 'Efface l'ancienne position du flocon
Flocon(i).Y = Flocon(i).Y + Int(Rnd * 10 + 1) ' Calcule la nouvelle position
Flocon(i).X = Flocon(i).X + Int(Rnd * 10 - 5)
If Flocon(i).X < 0 Then Flocon(i).X = Form1.ScaleWidth ' Si le flocon sort par la droite ou la gauche
If Flocon(i).X > Form1.ScaleWidth Then Flocon(i).X = 1
If Flocon(i).Y >= Form1.ScaleHeight - Tas(Flocon(i).X) Then 'si le flocon tombe sur le tas
Select Case Tas(Flocon(i).X)
Case Is > Tas(Flocon(i).X - 2): Tas(Flocon(i).X - 2) = Tas(Flocon(i).X - 2) + 1
Case Is > Tas(Flocon(i).X + 2): Tas(Flocon(i).X + 2) = Tas(Flocon(i).X + 2) + 1
Case Is > Tas(Flocon(i).X - 1): Tas(Flocon(i).X - 1) = Tas(Flocon(i).X - 1) + 1
Case Is > Tas(Flocon(i).X + 1): Tas(Flocon(i).X + 1) = Tas(Flocon(i).X + 1) + 1
Case Else: Tas(Flocon(i).X) = Tas(Flocon(i).X) + 1
End Select
Line (Flocon(i).X, Form1.ScaleHeight - Tas(Flocon(i).X))-(Flocon(i).X, Form1.ScaleHeight), vbWhite 'Dessine une partie du tas
Flocon(i).Y = 0 'Replace le flocon en haut
Flocon(i).X = Int(Rnd * Form1.ScaleWidth + 1)
End If
PSet (Flocon(i).X, Flocon(i).Y), vbWhite 'Affiche le flocon
Next i
For i = 1 To Form1.ScaleWidth
j = j + Tas(i)
Next i
j = j / Form1.ScaleWidth
Label1.Caption = Maxi & " Flocons de neige"
Label1.Caption = Label1.Caption & " - Epaisseur moyenne de la neige : " & Format(j, "0.000") & "px"
End Sub
Conclusion
Copiez tt ça dans "(déclarations)" et...
Just have fun !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Tombe la neigeuuuuux [ par Romuald ]
Coucou !Voilà, juste une petit coup de gueule contre la neige qui même si c'est très joli fait ramer le PC comme pas deux <b
Neige qui tombe? [ par jbixente ]
Bonjour les potos!!!J'aimerai ajouter a mon site web de la neige qui tombe!!!Comment faire?C'est un site fais a partir de nuked klanAdresse du site ww
La neige qui tombe? [ par jbixente ]
Bonjour les potos!!J'aimerai ajouter a mon site web de la neige qui tombe!!!Comment faire?c'est un site en nuked klanwww.team-tonton.zolectronic.comMe
Representation du fractal le flocon de neige de Koch [ par Xixis ]
Bonjour,j'ai tenté de représenter avec visual basic 6 ce flocon de neige mais je n'y arrive pas. J'arrive à tracer le segment avec un t
|
Derniers Blogs
OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|