Ce programme s'inscrit dans une ligne de recherche que je mène, qui à pour but de générer un algorithme simulant un vol d'oiseaux, les déplacements d'un banc de poissons, etc.
Pour l'instant, j'en suis au stade le plus simple à concevoir (mais il faut un point de départ) : simulation d'un nuage d'insecte. Amusez vous bien
Source / Exemple :
'In the Zip
Conclusion :
J'ai pensé améliorer le programme pour en faire un écran de veille : qu'en pensez vous ?
J'attend vos commentaires.
27 mai 2003 à 13:10
Bravo ! C'est super :D
Quelques détails : pourquoi mets tu :
C'est assez embetant de devoir faire entrer et de ne pas pouvoir cliquer sur OK :D
Apres, mets qquechose pour que quand on mette 1 comme nombre de moustique ca ne bug pas ;)
Enfin, quand il y en a une centaine ca tourne au ralenti ... Normal !?
27 mai 2003 à 13:28
27 mai 2003 à 13:47
Il serait sympa qu'un des "insectes" ait une couleur différente afin de pouvoir le suivre des yeux et ainsi mieux apprécier le travail.
Rigolo comme tout !
27 mai 2003 à 13:53
Le "patient 0" sera rouge
Private Sub Affichage()
Dim a As Long
Me.Cls
Me.PSet (Group(0).PosX, Group(0).PosY), &HFF&
For a = 1 To UBound(Group)
Me.PSet (Group(a).PosX, Group(a).PosY), Me.ForeColor
Next a
End Sub
27 mai 2003 à 14:35
Private Type INDIVIDU
PosX As Single 'Abscisse de l'individu
PosY As Single 'Ordonnée de l'individu
Direction As Single 'Direction de l'individu
RotatD As Single 'Changement de direction
Vitesse As Single 'Vitesse de l'individu
Couleur As Long 'C'est ce que j'ai rajouté
End Type
Ainsi que:
For a = 0 To NB_INDIV - 1
DoEvents
With Group(a)
.PosX = BorneX * Rnd() / 2 + BorneX / 4
.PosY = BorneY * Rnd() / 2 + BorneY / 4
.Vitesse = MAX_VIT '* Rnd()
.Direction = 2 * PI * Rnd() - PI
.RotatD = 2 * ROTATION * Rnd() - ROTATION
.Couleur = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) 'C'est encore ce que j'ai rajouté
End With
Next a
et:
Private Sub Affichage()
Dim a As Long
Me.Cls
For a = 0 To UBound(Group)
Me.PSet (Group(a).PosX, Group(a).PosY), Group(a).Couleur
' Me.Print a
Next a
End Sub
Voilà, c'est super code, bravo, 10/10
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.