begin process at 2012 02 16 20:28:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > ENFIN DE LA NEIGE QUI S'ACCUMULE VRAIMENT !

ENFIN DE LA NEIGE QUI S'ACCUMULE VRAIMENT !


 Information sur la source

Note :
7 / 10 - par 6 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :neige Niveau :Débutant Date de création :28/03/2001 Vu :4 692

Auteur : Setaou

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 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

Source avec Zip Source avec une capture CONVERTISSEUR ULTIME WEBSHOTS -> JPG (WBZ, WBC, WBD, WB1)
Source avec Zip ENREGISTRER DES RADIOS EN STREAMING SHOUTCAST (CONTRÔLE ACTI...
Source avec Zip Source avec une capture LE RÉFÉRENCEUR - EN 1 CLIC SUR 35 MOTEURS DE RECHERCHE !!
Source avec Zip Source avec une capture MESSAGE XP - ENVOYER DES MESSAGES D'ADMINISTRATION NT
Source avec Zip Source avec une capture [BIO]LOGIQUE 2.0.4

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture [VBS] GOOGLE EASTER EGGS par hackoo
Source avec Zip Source avec une capture NEIGE par jcslider
Source avec Zip Source avec une capture NEIGE VB par fabiin
Source avec Zip Source avec une capture SNOW ON YOUR SCREEN par Setaou
Source avec Zip Source avec une capture NEIGE SUR LE BUREAU par fabiin

Commentaires et avis

Commentaire de SDan le 16/01/2003 13:25:52

sa;ut,

Moi aussi j'aime beaucoup.

Si tu en as d'autres, pense à moi.  @+

Commentaire de the_best le 10/02/2004 13:29:32

ZZZZZZZZZZZIIIIIIIIIIIIIIPPPPPPPP STP

Commentaire de Setaou le 10/02/2004 19:46:33

roooh, a ce niveau la pas besoin de zip, tu as besoin de créer
- Un formulaire (Form1)
- Un timer (Timer1) avec un interval de 25ms
- Un label (Label1) a placer en haut a gauche

tu va dans le code de ton formulaire section Déclarations, et tu fais un copier coller du code ... Y'a plus qu'a lancer !

Commentaire de jpmaxx le 27/12/2005 21:59:24

... Au risque de passer pour un "peintre", comment intégrer ce script sur une page html ?

Merci !

 Ajouter un commentaire


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&#233; de repr&#233;senter avec visual basic 6 ce flocon de neige mais je n'y arrive pas. J'arrive &#224; tracer le segment avec un t


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales