4 pièce(s) jointe(s)
Simulation jeu de Billard POO
Bonjour, dans le cadre d'un projet semestriel, je dois simuler un jeu de billard contenant des boules et une table... J'ai des problèmes depuis que j'ai insérer ma classe mère 'Objet'. Le compilateur me sors un message d'erreur dans ma classe 'Boule', voilà des print screen de la classe Boule qui hérite de la classe Objet pour constituer la classe système dans laquelle on va pouvoir voir les boules se déplacer au cours du temps et entrer en interaction avec les boules et la table, etc ici j'essaie donc de faire tourner testCollision ....
Donc si qqun peut m'aider a trouver l'erreur et si d'autres auraient des suggestion pour une fonction d'evolution du système ou autre je suis toujours preneuse !
Dans tous les cas merci
d'avance pour vos réponses
:mrgreen:
représentation du problème
Donc en récapitulant jai une classe objet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Objet
{
public :
// un constructeur de copie pour les méthodes dans système :
virtual std::unique_ptr<Objet> copie() const=0 ;
// pour commencer les méthodes de bases recommandées :
virtual Vecteur distance( Boule& autre ) =0 ; // renvois la distance la plus courte entre la boule et l'objet .
virtual double t_collision ( Boule& autre , double dt, Integrateur i ) =0 ; // renvois le Tao i.e. temps jusqu'à la prochaine collision .
virtual void collision (Boule &autre )=0 ; // gestions de la collision entre les boules et les objets .. mise a jour des forces s'appliquant sur la boule ...
virtual double EnergieCinetique (Boule const& ) const = 0 ;
}; |
dont hérite ma classe boule :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| class Boule : public Objet
{
private: // Les attributs
// caractéristiques propre à la boule:
double rayon;
double masse_vol;
// En lien avec lenvironnement exterieur
double restitution;
double coeff_frt;
double frt_roul;
double frt_glis;
// utils pour l'intégration
Vecteur force ;
Vecteur omega ;
Vecteur omega_prime ;
public:
double masse;
// Les constructeurs
Boule( double r = 1.0, double ro = 1.0, double rest = 1.0, double cf = 1.0 , double fr=1.0 , double fg=1.0) ;
// constructeur de copie
Boule(const Boule& b);
// un destructeurs pour quand la boule va dans un trou
~Boule ();
// un constructeur de copie profonde pour la classe système
std::unique_ptr<Objet> copie()const;
// les méthodes
void affiche_boule(std::ostream& sortie ) const;
void ajoute_force(Vecteur const& df);
Vecteur evolution();
double get_frt_roul()const;
void set_frt_roul(double const& x);
double get_frt_glis()const;
void set_frt_glis(double const& x);
Vecteur get_omega()const;
void set_omega(Vecteur const& u);
Vecteur get_omega_prime()const;
void set_omega_prime(Vecteur const& u);
double poids();
// ============================ Collisions et chocs
std::unique_ptr<Objet> copie() ;
Vecteur distance( Boule& autre ) ;
double t_collision ( Boule& autre, double dt, Integrateur i );
void collision (Boule& autre );
// =========== energie cinétique pour intégration du systeme
virtual double EnergieCinetique (Boule const& b) ;
};
std::ostream& operator <<(std::ostream& sortie, Boule& F); |
que je veux itérer dans la classe système ( incomplète pour le moment )
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Systeme
{
public :
~Systeme(){std::cout << "la partie est finie .. "<< std::endl; }// pour libérer la mémoire du unique ptr ...
void ajouteObjet(Objet const& o);
void evolue ( std::vector<Objet&> syst ); // la méthode qui fera evoluer notre système avec référence sur les objet pointés car on aura affaire a du polymorphisme dès le moment ou on aura des objets immobiles tels que la table par exemple
void affiche() const; // methode pour afficher
private :
std::vector< std::unique_ptr <Objet>> systeme;// voila notre collection d'objets
}; |
voilà merci pour vos suggestions ! ;)
L'erreur n'est pas toujours comprehensible
Bonjour bonjour
Étant quelqu'un qui m'amuse a visiter les forums je suis tomber sur cette conversation. .-.
Autant dire que je ne m'y connais pas des masses en c++ voir même pas du tout.
Mais je connais ce forum et normalement les réponses sont souvent la pour aider.
Que t'es til arriver bousk ? Je pense que c'est son code à cette fille elle a probablement autre chose à faire que de poster des faux problèmes ici, non ?!
Si elle
Comprend pas son erreur au lieu de lui dire de relire, essaye plutôt de l'aider à corriger la faute, surtout que tu as presque tout son code en screen.
Soit un peu cool et aidant l'ami ;)
En attendant, je retourne dans ma grotte.
Yep !