
Envoyé par
bacelar
"using namespace std;", on dégage (cf. des dizaines/centaines de files de messages dans ce forum).
Pas de tableau à la C, et encore moi des tableaux à 2 dimensions ((cf. des dizaines de files de messages dans ce forum). Préférez utiliser des types C++, soit des types comme Matrice (voir dans ce forum les références), ou un std::vector monodimensionnel avec des mécaniques de calcul d'indice de R²->R.
La "grille" n'est qu'un conteneur de données, il faudrait l'encapsulé dans une classe avec de vrais fonctionnalités, comme une classe "World", par exemple.
Il faut que chaque classe ait un rôle bien défini en termes de services rendus.
C'est quoi les services rendus par une classe "Goute" ?
Sa position, non, c'est le "world" qui connait sa position.
Sa pression vectorielle, ça dépend de comment elle est calculé, si c'est fonction uniquement de son environnement, c'est clairement de la responsabilité de "world" de la calculer.
Donc une classe "Goutte" n'est peut-être pas souhaitable, si elle ne sert à rien.
Juste une classe "World" contenant en interne une "grille" de int pour stocker le niveau d'eau peut faire l'affaire.
>Dois-je créer un objet goutte ?
Peut-être pas, car rien dans ton exposé n'oblige à l'utilisation d'une classe "Goutte".
>si oui comment le générer plusieurs fois
Si cette classe est nécessaire, le constructeur de la classe a pour rôle de générer les objets à la demande.
>et comment une goutte X peut aller chercher l'info de la pression de la goutte X-1 par exemple ?
Si cette classe est nécessaire, c'est le genre de service qu'une classe "World" doit être en possibilité de donner. Pour qu'une goutte connaisse le "world", suffit de le passer en paramètre du constructeur de la goutte, par exemple.
>Le seul problème que je rencontre est la rédaction du C++
Vous avez un problème à analyser le problème en terme d'objet, mais vous êtes très loin dans avoir fini. Il reste bien d'autres choses après l'analyse.
>Dois-je trouver un moyen de mettre les pointeurs de chaque goutte dans la case de la matrice ?
Pourquoi diable des pointeurs ??? On n'est même pas sûr que vous ayez besoin de goute.
Faites une classe "World" contenant un champ Matrice<unsigned int> qui implémente les règles physiques du monde et je pense que cela suffira.
Partager