projet C++ - C++ - Programmation
Marsh Posté le 09-02-2005 à 13:58:22
Je vois pas pour quelle raison obscure une fourmi hériterait du monde et la bouffe de la fourmi...
Marsh Posté le 09-02-2005 à 14:05:07
L'héritage est à utiliser pour exprimer la relation "est une sorte de". Si tes fourmis sont une sorte de monde, et la bouffe une sorte de fourmi, alors ça va. Sinon y'a pas lieu d'utiliser l'héritage.
Ton tableau doit être encapsulé dans CMonde, les fourmis et la bouffe n'ont aucune raison d'avoir accès à ce tableau. C'est le monde qui gère tout (telle fourmi à tel endroit, etc...)
Marsh Posté le 09-02-2005 à 14:09:14
HelloWorld a écrit : C'est le monde qui gère tout (telle fourmi à tel endroit, etc...) |
Une vision très "dame nature"
Marsh Posté le 09-02-2005 à 14:10:39
donc mon tableau appartient a CMonde. CBouffe et CFourmis ne contiendront que leurs nombres, leurs id et de meme pour la bouffe.
Comment alors utiliser les fonctions des classes cbouffe et coufourmis dans le monde ?
Marsh Posté le 09-02-2005 à 14:46:45
Il te manque les concepts de base en POO avant de pouvoir commencer ce projet... évite de ta lancer tête baissée dans ton projet (fort intéressant) et prends le temps de maîtriser la philosophie objet
http://www.plb.fr/ccm/poo/poointro.php
http://www.commentcamarche.net/poo/poointro.php3
Marsh Posté le 09-02-2005 à 15:06:10
L'héritage ou spécialisation, se traduit par "est un" en langage naturel.
Un morceau de bouffe est une fourmi qui est un monde.
Marsh Posté le 09-02-2005 à 15:30:48
moi je ferais plustôt des classe Fourmi et Bouffe indépendantes, et une classe Monde qui maintiens une collection de Fourmi et une collection de Bouffe.
ou alors la classe Monde décrit les démentions et propriétées du rectangle, et une classe Simulateur qui maintiens un Monde, et une collection de Fourmi et de Bouffe.
Marsh Posté le 09-02-2005 à 15:34:25
sachant que les fourmis mangent des fourmis, les fourmis sont potentiellement de la bouffe
Marsh Posté le 09-02-2005 à 16:17:46
bjone => quand tu dis que la classe Monde qui maintiens une collection de fourmi et de bouffe, je vois pas bien ce que tu veux dire par la
Marsh Posté le 09-02-2005 à 18:06:23
avec:
Bouffe
{
}
Fourmi
{
}
Soit tu as:
Monde
{
collection<Bouffe> Bouffables;
collection<Fourmi> Fourmis;
avance_la_simulation_d_un_pas()
}
ou alors en plus éclaté:
Monde
{
int Haut/largeur;
// pour plus tard: collection<Obstacle> Obstacles;
}
Simulateur
{
Monde *Mde; // ou equivalent
collection<Bouffe> Bouffables;
collection<Fourmi> Fourmis;
avance_la_simulation_d_un_pas()
}
Marsh Posté le 09-02-2005 à 18:41:49
ok mais je ne vois pas a quoi correspondent ces collections : collection<Bouffe> Bouffables ??
Marsh Posté le 09-02-2005 à 18:45:05
Citation : Des morceaux de nourriture seront aleatoirement repartis a la surface du monde. |
Marsh Posté le 09-02-2005 à 18:56:32
d'accord mais quelle est le type de : "collection<bouffe> bouffables;" C'est un vecteur avec l'ensemble des positions pour chaque unite de bouffe ??
Marsh Posté le 12-02-2005 à 00:40:41
oh ca me rapel un Tp en Java c t WorldBot.
heritage et surcharge et c bon!
ps:constructif mon post hein?!
Marsh Posté le 12-02-2005 à 11:08:40
Il y a eu un numéro de Login parlant de ça avec code source et tout, j'essai de retrouver le numéro et je te dis quoi
Marsh Posté le 09-02-2005 à 13:55:38
Salut,
J'ai un projet C ++ a realiser et j'aimerais que vous me donniez votre avis sur la question.
Sujet : Ce projet simule le comportement d'une colonie de fourmis.
Les fourmis se deplacent aleatoirement a la surface d'un monde qui a la forme d'un tore (qu'on assimilera a un rectangle pour le programme).
Chaque fourmis arrivant en haut du rectangle se retrouvera donc en bas et pareillement pour la gauche et droite.
Des morceaux de nourriture seront aleatoirement repartis a la surface du monde.
Les fourmis obeissent aux lois suivantes : Se deplacer au hasard, prendre la nourriture s'il y en a devant soi et qu'on est a vide, Deposer la nourriture s'il y en a devant soi.
La taille du monde, le nombre de fourmis, de nourriture seront parametrables, ainsi que le nombre de cycle (la duree de simulation).
Probleme :
Je souhaitais utiliser un tableau correspondant au monde. Mais je ne sais pas comment faire pour l'utiliser dans plusieurs classes. J'ai fait 3 classes : CMonde (pour la classe mere), CFourmi (classe fille de CMonde) et classe CBouffe (classe fille de CFourmi)..
Si vous avez d'autres solutions a me proposer n'hesitez pas
Merci