Votre question

Aide pour SmallTalk

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
19 Avril 2011 11:10:39

Bonjour à tous,

je viens de débuter sous smallTalk en utilisant VisualWorks.

Je cherche à developper un programme.

Mon modele se compose de plusieurs cellule qui sont soit en état feu soit en état herbe.

Ce que je voudrais obtenir, c'est qu'une cellule en herbe devienne automatiquement en feu si la cellule voisine se situant en amont est en feu.
Sinon elle reste en herbe.

En sachant que je travaille sur une grille de cellule ou l'altitude est renseigné.

Pour le moment j'ai écrits quelque chose comme ça :

  1. | celltest transfo |
  2.  
  3. celltest := self neighbourhood contains: [:c1 :c2 | (c1 altitude ) < (c2 altitude )].
  4.  
  5. transfo := self neighbourhood contains: [c2 = #fire].
  6. (c1 = #tree and:[transfo])
  7.  
  8. ifTrue:[self bufferState: #fire]
  9. ifFalse: [self bufferState: self state].



Bon pour le moment ça ne fonctionne pas, mais je continue à chercher.

Je vous remercie par avance pour votre aide précieuse.
Bonne journée

Pedro

Autres pages sur : aide smalltalk

19 Avril 2011 14:41:30

voila ma nouvelle version, mais cela ne fonctionne toujours pas ...

  1. updateEtatHydro2
  2. | celltest transfo c1 c2 |
  3.  
  4. celltest := self neighbourhood contains: [:c1 :c2 | ((c1 altitude + (c1 niveauSurface / 1000)) < (c2 altitude + (c2 niveauSurface / 1000)))].
  5. transfo:= self neighbourhood contains: [: c2 | c2 state = #feu].
  6.  
  7. (self c1 = #tree and:[celltest & transfo])
  8.  
  9. ifTrue:[self buffer: #feu]
  10. ifFalse: [self buffer: #tree].


je sais déja que le buffer ne marchera pas, il faudrait que je le précise...
Par contre est ce que cela vous semble juste d'utiliser C& comme cellule aval et c2 comme cellule amont ?
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS