Formation d'un paysage


 

Charger le programme Paysages.st

Pour charger le programme :
Cliquez sur le lien et enregistrer le fichier. Puis, depuis VisualWorks, ouvrez l'outil "FileList" et charger le fichier (fonction "FileIn"). Ensuite, ouvrer un butineur (l'outil de programmation nommé "Browser" en Smalltalk), et trouvez la classe VLPaysage. Dans les exemples (au niveau de la classe), selectionnez "VLPaysage open" et exécutez l'expression (fonction "DoIt").

 



Une vue du paysage.


Le paysage est représenté par une matrice carré dont les cellules contiennent de la terre et de l'eau.

  • L'eau est toujours au dessus de la terre
  • La couleur de la terre dépend de sa quantité.

Le menu 'Action' permet de:

  • 'Lisser' le paysage qui est initialement contruit aléatoirement. Une érosion brutale sans infulence sur l'eau.
  • 'Pluie': Faire pleuvoir une quantité donnée d'eau sur l'ensemble des cellules.
  • 'Drainer': fait couler l'eau (et un peu de terre) des cellules hautes vers les cellules voisines plus basses. Simule l'érosion.
  • 'Sècher': retirer l'eau de toute cellule.


Le bouton 'Pluie' fait pleuvoir une quantité donnée d'eau sur l'ensemble des cellules.

Le bouton 'Drainer' fait couler l'eau (et un peu de terre) des cellules hautes vers les cellules voisines plus basses.

Implémentation

Les cellules ne sont pas dans une matrice, mais elles forment une matrice par leur connection nord, sud est et ouest.

Le message do: est implémenté pour parcourir toutes les cellules situées au sud et à l'est de la cellule réceptrice.

Le modèle de la vue est la cellule du coin nord ouest.

Une classe VLCelluleVide permet de résoudre le problème des bords sans avoir à se poser de questions.

 

 

Retour au menu.


m a i l t o : v i @ a i . u n i v - p a r i s 8 . f r