Amusement sur VBA: simuler une avalanche (tas de sable) avec Excel selon des règles

MGKextension

XLDnaute Nouveau
Bonjour à tous programmeurs, j'ouvre ce sujet en ce temps de période hivernale et donc de neige. Les avalanches sont des phénomènes très peu prévisible. Ainsi, je vous propose d'écrire un code VBA et de le partager.

Le but est de simuler un automate cellulaire qui vérifie les règles suivantes: 1ère étape: on ajoute des grains de sable dans un carré un par un et aléatoirement ( on utilisera des lois du type uniforme, normale en prenant la partie entière à chaque fois, un sample échantillon). Chacune des cases se voient alors augmenté d'une unité.
2eme étape: si la valeur de la case est supérieur strictement à 4 alors il y a redistribution des particules de sable sur les sites voisins les plus proches.
Attention on peut avoir des réactions en chaîne.
Pour les particules se trouvant sur un des bords (hors coin), le modèle considère que si la pile dépasse la valeur critique, il y a redistribution de 3 grains et perte de 1 grain.
Dans le cas des quatre sites du coin du réseau, 2 grains sont perdus et 2 sont redistribués.

Le nombre d'itération de l'algorithme peut être fixé à l'avance en choisissant le nombre de sites que l'on souhaitent perturber. L'algorithme s'arrête dès qu'un grain tombe en dehors du réseau.

Je pense que cet algorithme se programme de façon analogue à celui du jeu de la vie.

Merci de vos partages de code sous VBA. Amusez vous bien
 

MGKextension

XLDnaute Nouveau
Re : Amusement sur VBA: simuler une avalanche (tas de sable) avec Excel selon des règ

Surement les deux. Le challenge de la classe de cette semaine est de réaliser ce code ci.
J'ai effectué des boucles sur le tableau contenant la valeur de chaque grain de sable qui tombe.
On fait comme le jeux de la vie en considérant deux boucle for sur la taille du tableau.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 636
Messages
2 111 464
Membres
111 151
dernier inscrit
KARIMTAPSO