IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Simulation jeu de Billard POO


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut 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
    Images attachées Images attachées     

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Salut,


    merci de revoir la présentation de ton post.
    Les screenshots c'est chiant, copie-colle uniquement le code nécesaire (pas tout ton code donc..). Et surtout les messages d'erreurs (tous pour pas en oublier des importants).

    Heureusement un screen indique très clairement ton erreur, encore faut-il la lire ?
    Boule est abstraite. Commence par implémenter toutes les méthodes virtuelles pour en faire une vraie classe instanciable.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut représentation du problème
    Donc en récapitulant jai une classe objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Je te suggère de (re)lire ton(?) code (à supposer que c'est bien le tien et non un copier/coller - ce qui expliquerait que tu ne saches pas corriger cette erreur triviale..).
    Et de bien (re)lire les erreurs de compilation qui te diront texto le nom des méthodes qu'il manque pour que la classe ne soit plus abstraite.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut 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 !

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Je crois que tu serais surpris du nombre d'étudiants qui postent ici
    - aucun code en attendant qu'on le leur fasse entièrement
    - un code copier/coller sans le comprendre du tout et espèrent qu'on leur corrige
    C'est la fin de l'année scolaire, c'est période de projet, et ça se voit : le nombre de topics d'étudiants augmente.

    En l'occurence le code est p-e le sien, à vrai dire je m'en moque, mais si elle essaye de le compiler, les erreurs énonceront très distinctement quelles méthodes doivent être implémantées pour que la classe ne soit plus abstraire.
    - on ne va pas se substituer au compilateur, on est bénévoles et on ne va pas créer un projet et copier/coller le code fourni pour voir l'erreur
    - elle pourrait essayer de compiler, ce qui est un peu le B-A-BA de la programmation C++ pour voir les messages d'erreur.. et les écrire ici
    - les erreurs sont compréhensibles en général, il n'y a ni template ti code compliqué ou architecture complexe ici

    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Jeu de simulation véhicules L'AUTOROUTE
    Par chroufa dans le forum Projets
    Réponses: 11
    Dernier message: 21/03/2008, 12h00
  2. Recherche codeur POO php (pour un jeu en ligne)
    Par max13fr dans le forum Autres
    Réponses: 0
    Dernier message: 24/12/2007, 14h01
  3. Réponses: 6
    Dernier message: 24/08/2007, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo