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

C++ Discussion :

Comment g�rer un nombre inconnu d'objet ?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut Comment g�rer un nombre inconnu d'objet ?
    Bonjour a tous !
    Le titre n'est pas tr�s explicite, mais je vais tenter de l'�clairer un peu .
    Pour vous mettre dans le bain, je vais vous expliquer ma demarche

    J'ai fait il a peu quelques groupes de classes destin� a �tre le squelete de mon aplication ( jeu ) .
    Par exemple, je vient de finir une calsse destin�e a receuillir les �v�nements clavier, et a les transcrire en quelquechose de plus " lisible" pour le reste de mon programme .

    Mon prochain but est la cration d'une classe dont le funeste destin sera de me servir jusqu'a la fin de ses jour ( Mouhahahahaha ... dsl ), enfin plus s�rieusement, cette classe aura pour but de permetre l'affichage a l'ecran selon des polices charg� pr�c�dement ( donc elle doit aussi permetre l'enregistrement de ces police dans le prog ; je doit pouvoir les retrouver a tout moment grace a un identifiant par exemple .... )

    (Je n'ai pas encore vraiment regard� de pres la methode exacte pour afficher tu text; je sais juste qu'il y a 2 moyen ( bitmap et vectorielle je crois ) mais je verrai ca une fois mon probl�me r�solu . je pr�cise , car si ca se trouve, je n'ai pas besoin de g�rer tout ca de cette mani�re ... mais le probl�me reste alors ouvert pour g�rer d'autre entit� par exemple )

    Ce que j'aimerai faire ?
    -> Pouvoir charg� un nombre X d'objet ( "font" dans ce cas la, mais ca peut tr�s bien etre autre chose ... un personnage, un objet, une arme ect ... ) et y avoir acc�s apr�s ( je ne sais aps trop comment faire ... )
    Le nombre et le type d'objet n'ont pas d'importance , je me charge de r�cup�rer les donn�es correpondantes dans divers fichiers texte, et de les transformer en donn�e interpr�table par mon appli .

    Le premier pb qui m'est venu a l'esprit, est que je devais pouvoir charg� un nombre ind�termin� d'entit� ...donc la methode : on pr�voit X objet, qu'on initilise juste pour le plaisir et on les "active" vraiment d�s que l'on doit les charger... on oublie :p

    J'ai ensuite pens� a me servir d'un tableau ... bon, a priori, un tableau statique on oubli ( car le nbre d'neti� est variable ), il nous reste donc un conteneur de type vector par ex ...

    Imaginons ca ( un vector par type d'objet ( font / item / perso / arme ... ) )
    Quand je parse mes fichier texte, pour savoir quoi charg� dans tel niveau , j'ajoute un objet dans le vector du bon type .
    Si jamais 2 fois le MEME objet ( meme identifiant ) sont enregistr�, j'ajoute un "2", "3" ect..a la fin du nouvel identifiant a ajout� ( avec un recherche ca ne devrait pas etre tr�s dur .
    ( hum je constate que je suis entrain de m'enmeller les pinceau ..j'�tati parti sur un id�e de vector d'objet et j'arrive sur un vector de string ...

    Bon, ca doit vous paraitre tr�s confus ... mais si vous avez des id�e ... et bien je prend merci

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Perso j'ai pas tr�s bien compris ce que tu voulais faire. Un genre de flyweight factory (truc � base de map<string, Objet*>) ? Du comptage de r�f�rence avec pointeur intelligent ? http://loulou.developpez.com/tutoriels/moteur3d/partie4 ?

  3. #3
    Membre exp�riment�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par d�faut
    Tu crees un type de base dont tous les objets heritent.
    Des vectors qui chargent et maintienent des pointeurs sur ces objects.
    ????

    Autrement Design Patterns : Factory.

  4. #4
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Le temps d'aller me docu. un peu sur ce design Factory et je revient
    marchi ^^

    edit: me revoila !

    Je vais prendre un exemple concret ( enfin pas si concret que ca ..car je n'ai rien implement� mais bon ... immaginons )
    J'ai un fichier txt avec dedans :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    ARME -> pistolet
    ARME -> sabre
    PERSO -> le gros robet
    ARME -> pistolet
    Je fait mon affaire du chargement des donn�es li� a ces identifiants ! ( il me suffit pour la pr�mier arme, de trouver le fichier pistolet.txt , et d'en tirer toute les caract�ristique dont j'ai besoin .... force, taille, poid, chargeur , texture et animation associ�es ect ... ) .
    Une fois que j'ai ceci, il me faut cr�e un objet de type cArme par exemple dans mon programme . Cet objet contiendra toutes les caract�ristiques lu pr�c�dement dans le fichier txt.

    Mon probl�me est : ou et comment stocker cet objet, sachant que : ( pour le moment )
    - je veut pouvoir a tout instant en lire les caract�ristiques ; les modifier ( dans le jeu uniquement, pas dans le fichier txt bien sur ) ect ...

    ( j'avoue que je suis pas mal dans le flou moi m�me, car il me manque plus q'un maillion de la chaine ... j'ignore ce qui se trouve au bout du tunnel la ^^ )

    Mon probleme ( enfin un de mes probl�me ) a mon avis est que je n'ai pas envisag� les liens entre tout ces objet au niveau programation .
    Il est en effet idiot de vouloir retrouver les caract�ristique d'un pistolet si celui-ci n'est pas pr�sent a un endroit pr�cis dans le jeu !
    Je pense a un pointeur du style.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    cEquipement * ArmeCourante ;
    ArmeCourante = pistolet ;
     
    ou
     
    cItem * ObjetSurLaTable ;
    ObjetSurLaTable = pistolet ;
    Enfin, ma vison des choses n'est peut-etre pas la bonne ...c'est juste id�e que je vient d'avoir en r�pondant a ce message .

    Apres il me reste encore a voir OU je stocke pr�cis�ment ce "pistolet" .

    J'ai regard� a qoi correspondait le factory design, je ne suis pas certain que ce soit ce que je cherche ( mais bon, j'irai re-jeter un oeil desus plus tard .. on sait jamais ^^ )
    j'esp�re que vous y voyez un peu plus claire

  5. #5
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Je pense vraiment qu'il te faut une flyweight factory.

    En gros :

    - Tu associes � chacun de tes objets un identifiant (entier, chaine de caract�res, ...).
    - Tu construis une flyweight factory qui va charger, d�charger et stocker ces objets.
    - Lorsque ton appli a besoin de manipuler un objet, elle le demande � la factory sous forme d'identifiant et r�cup�re un pointeur.
    - Lorsque plus personne n'a besoin d'une ressource (-> pointeurs intelligents avec comptage de r�f�rence) celle-ci peut �tre d�charg�e sans souci.
    - Apr�s tu peux peaufiner selon ton appli : pr�voir un contr�le plus "manuel" pour pr�charger certaines ressources, ajouter un d�lai avant lib�ration au cas o� la ressource soit recharg�e juste apr�s, etc...
    - Le fait d'associer chaque objet � un identifiant te permettra de manipuler ceux-ci facilement dans tes futurs scripts.

    Evidemment, ceci est une solution g�n�rale, et peut-�tre qu'elle sera plus ou moins appropri�e pour le type de ressource que tu manipules et l'utilisation que tu en fais.

    Ensuite pour ce qui est du lien physique entre les objets dans le jeu, �a c'est plut�t le boulot d'un scenegraph

  6. #6
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    OKi doki je me replonge dedans d�s que j'ai un peu de temps ^^
    merci

  7. #7
    Membre exp�riment�
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par d�faut
    Pour un jeu, j'opterai plus pour une version de chaine de responsabilit�s :

    Un Monde contient des objets certains de ces objets sont des conteneurs et contiennent eux meme des objets.

    Tu maintiens dans le cas des conteneurs des vectors d'items.

    Tu as un certain nombre de methodes de bases (genre Render()).

    Enfin, comme ca tu as la main sur le chargement d'objet et tu maintiens une hierarchie (un bonhomme et le pere de son arme, son armure, et d'une grenade; le monde est le pere des decors, de ton perso et des ennemis).

  8. #8
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    re coucou
    Ensuite pour ce qui est du lien physique entre les objets dans le jeu, �a c'est plut�t le boulot d'un scenegraph
    Bon bah .... ce sera un boulot pour moi alors

    > mtopoloff : Hum, en gros, une sorte d'arbre ?
    Le principale avantage que j'y voit est pour le dessin des objet comme tu le dit ; il me suffirai d'y aller r�curssivement et d'afficher tout les objet du premier vector ..puis tout ceux contenu dans ces premiers objets ect ...
    Sinon je ne voit pas trop comment ca va r�gler mon probleme de chargement mais merci de l'id�e !!

    Sinon, je vient de me repencher sur le DP : factory , et voila ce que j'en ai comprit / comment je pense l'utiliser , dites-moi ce que vous en pensez .

    On commence par une classe Factory ( singleton d'apres ce que j'ai lu ) .

    Le principe :
    - cette classe va se charger de stocker tout les objets ( pas des pointeurs ) du jeu
    - pour se faire on cr� un nouvel item ( une classe cItem dont vont d�riv�e toutes les classes fille repr�sentant mes divers objets dans le jeu ) que j'ajoute dans un conteneur ( vector par ex )
    - pour supprimer un objet, il suffira d'appeler une fonction detruire(), avec en param�tre l'identifiant ( unique ) de l'item a d�truire .
    -pour r�cup�rer un objet, on apelle une fonction get(), avec en param l'identifiant de l'objet, et on r�cup�re un pointeur sur un l'objet contenu dans une case de mon vector en question .

    Enfin voila en gros ce que j'ai compris j'esp�re ne pas etre trop loin de la v�rit�

  9. #9
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    > mtopoloff : Hum, en gros, une sorte d'arbre ?
    Le principale avantage que j'y voit est pour le dessin des objet comme tu le dit ; il me suffirai d'y aller r�curssivement et d'afficher tout les objet du premier vector ..puis tout ceux contenu dans ces premiers objets ect ...
    Sinon je ne voit pas trop comment ca va r�gler mon probleme de chargement mais merci de l'id�e !!
    C'est justement �a un scenegraph, et effectivement �a a tr�s peu � voir avec le chargement des ressources.

    Sinon, je vient de me repencher sur le DP : factory , et voila ce que j'en ai comprit / comment je pense l'utiliser , dites-moi ce que vous en pensez .
    C'est � peu pr�s �a. Sauf que ce n'est pas une factory qu'il te faut, mas une flyweight factory (la diff�rence en gros c'est que la flyweight n'ira pas recharger une ressource si celle-ci l'est d�j�).
    Ensuite tu as une contradiction : tu veux stocker des objets polymorphiques (d�rivant d'une m�me classe), mais pas sous forme de pointeur. Probl�me. -> Dans ce cas tu ne peux pas te passer de pointeurs. Et pour finir, pas besoin de faire une classe de base (imagine que tu stockes des objets compl�tement diff�rents : texture, mesh, material, ...), cf. mon tutoriel n�4. Et dis toi bien qu'il n'y aura que des cItem* qui sortiront de ta fabrique, est-ce que tu pourrais manipuler tous tes objets via leur classe de base dans ton jeu ?

  10. #10
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Un petit coucou matinal

    Bon tout d'abord il va faloir que je me renseigne sur les ficelle du scene-graph-ing ^^ ...

    Concernant la diff�rence entre la flyeight factory et la factory normale, je m'interoge encore . En effet, si le principe de la flyweight est de ne PAS charger 2 fois la meme ressource, je ne susi pas sur que ce soit ca que je veuille .
    Par contre, je ne chargerai pas 2 fois la meme texture pour des objets identique ( mais ca c'est mon TextureManager qui s'en occupe )
    Ensuite, si je veut faire par exemple un niveau ou il y a 2 ennemis dont l'identifiant est " chien"
    J'hesite encore sur la proc�dure a suivre ... car si dans mon fichier j'ai qquchose comme ca :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    [COMBAT NUMERO 4]
    MONSTRE -> chien
    MONSTRE-> chien
    Je risque apr�s de m'enbrouiller pour retrouver lequel est lequel ( par exemple dans le cilage du "chien" dans les combat ... et meme en les ajoutant en tant ue "chien" et "chien2"

    Sinon, je peut faire qquchose du style :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    [COMBAT NUMERO 4]
    MONSTRE -> chien ( m_chien )
    MONSTRE-> chien (m_chien2 )
    Et ainsi je les enregistre selon un identifiant diff�rent ; le mot cl� chien, servant juste a m'indique ou trouver le fichier contenant leur caract�ristiques ..

    Enfin je n'ai pas les id�es tr�s claires la dessus pour le moment :/

    Conercant les obket polymorphique ... hum, je n'avais pas r�fl�chi a ca
    Je vais revoir ma copie ( ce soir ) et je re-post ca
    merci

  11. #11
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    coucou
    Me revoila apr�s une semaine de vacances ... rien de tel pour tout oublier
    Je suis donc entrain de me mettre dans le bain et de me replancher sur ce petit pb .

    Voici jusqu'alors mes conclusion ...et mes questions :p

    Bon, je doit avouer que je suis un peu confus vis a vis des objets polymorphique , classe d�riv�e ect ... je ne vois plus trop ou �taient mes erreurs
    Enfin si j'ai bien comprit , je ne peut pas stocker de cItem directement ( car c'est une classe abstraite ) or, j'ai besoin de stocker des cItem et non pas des pointeur de cItem .... hum a�e :p

    ( parenth�se : concernant le fait que tout mes objets ne partageraient pas tous les meme propri�t�s ect ... ( texture , anim , map ect ... ) ; je pensais juste faire une classe abstraite contenant un string ( l'indentifiant .. ) )

    Bon, comment contourner la chose hummm , la j'avoue je bloque :/

    quun a des id�es ?

    edit : une erreur de frappe dans la faq ou j'ai lu trop vite ?

    Base* Obj = new Derivee1;
    Base* Obj = new Derivee2;

    Base* Copy1 = Obj1->Clone(); // Copy1 pointe sur un objet de type Derivee1
    Base* Copy2 = Obj2->Clone(); // Copy2 pointe sur un objet de type Derivee2
    J'aurais mis :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Base* Obj1 = new Derivee1; 
    Base* Obj2 = new Derivee2;
    http://c.developpez.com/faq/cpp/?pag...es#CLASS_clone

  12. #12
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    une erreur de frappe dans la faq ou j'ai lu trop vite ?
    C'est d'ores et d�j� corrig� dans la prochaine version de la FAQ. Merci quand m�me de l'avoir signal�

    Pour ton probl�me... je crois qu'il fait que nous aussi on se remette dans le bain

    En l'occurence tu peux d�tailler ce point ?
    Enfin si j'ai bien comprit , je ne peut pas stocker de cItem directement ( car c'est une classe abstraite ) or, j'ai besoin de stocker des cItem et non pas des pointeur de cItem .... hum a�e :p

  13. #13
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    en gros je ne peut pas avoir un

    hum , comme d'ab' je m'embrouille :p

    il me suffit d'avoir un :

    C'est possible ca , non ?
    Mais je ne vois pas tr�s bien comment manipuler ca avec mes 3 fonctions get / load / free ...[/code]

  14. #14
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    Citation Envoy� par Clad3
    en gros je ne peut pas avoir un

    hum , comme d'ab' je m'embrouille :p

    il me suffit d'avoir un :


    Salut,

    j'ai pas lu tout ce qu'il y avait ce post, mais je corrige ceci


    ou
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    cItem * tab ;
    // tab = new cItem[100];


    Enjoy yourself !

  15. #15
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    oula c'est des erreurs grave de ma parts ca ...

    -> repr�sente un tableau dont chaque case contient une instance de la clase cItem c'est ca ?

    -> repr�sente un pointeur sur un objet de type cItem

    Hum .. pour moi

    repr�sente un tableau de pointeur sur des objet de type cItem
    J'ai du louper qquchose

    edit : heu je vais prendre le tps de relire ca ...car je crois que j'ai encore �crit une belle annerie ...

  16. #16
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Utilise des smartpointeurs pour tes Items et g�n�re une liste plut�t qu'un tableau...

    Regarde les tutoriaux de Loulou24, ils sont super bien fait, il a super bien boss� dessus, appuie toi sur son code tr�s propre !!

  17. #17
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Concernant les smartpointeurs , j'en fais mon affaire
    Et pour le conteneur a utiliser, ce n'est qu'un exemple, je n'ai pas encore choisit celui qui me sera le plus adapt� ; mais c'est un d�tail !

    je trouve les tuto de loulou bien fait aussi; mais j'ai un peu de mal a rentrer dedans , et quand j'ai une id�e en t�te, j'aime bien la r�aliser :p et je me suis mis en t�te que la facons dont je vois ma factory n'est aps trop mauvaise pour le moment .... reste juste que je rame comme c'est pas possible pour l'implementation

    merci des conseils !

  18. #18
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Citation Envoy� par Ti-R
    Regarde les tutoriaux de Loulou24, ils sont super bien fait, il a super bien boss� dessus, appuie toi sur son code tr�s propre !!
    Merci

    Pour ta fabrique dis nous tout ce que tu as d�j� en t�te, m�me si c'est encore un peu flou, peut-�tre qu'on pourra t'aider � y voir plus clair.

  19. #19
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    heu, juste une question, concernant mon cItem * tab[100] j'ai bon sur la signification ou pas ?

    Enfin, je vais essayer de vous dire noir sur blanc ce que je souhaite avoir ... ( en essayant de passez les d�tail technique car c'est sur eux que je blocque )

    une classe particuli�re qui aura pour but unique de g�rer TOUT les objets de mon jeu ( perso, monstre, map, item, animation,script en tout genre ect ... )

    Cette classe poss�dera a priori 3 fonctions de base
    - une qu'on apellera load ; dont le but sera uniquement de Cr�er un objet d'un type pr�cis a partir d'information contenu dans des fichiers ( je me charge de la bonne r�cup�ration de ces info ... ) en m�moire et de le stocker qqupart .
    - une qu'on apellera get() et qui prendra en param�tre un identifiant et me renvera un pointeur vers l'objet cr�er pr�c�dement en m�moire ayant cet identifiant . ( ce qui me premetra de manipuler ces objet dans le reste de mon programme )
    ( Tout les identifiant seront Unique ! )
    - une qu'on nommera free() et qui se chargera juste de d�truire de la m�moire un objet cr�er pr�c�dement ( prenant donc en param�tre l'identifiant de l'objet a d�truire )

    Je pense stocker tout ces objets dans un m�me conteneur ( la est peut-etre mon erreur ... ) .
    Je pense faire de cette classe un singleton .

    Et apr�s ca ... je s�che :/

  20. #20
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Cela peut fonctionner, pas de probl�me la dessus, il faut juste que tous tes objets h�ritent de cItem.

    Le probl�me est aussi qu'il faut que tu stocke un identifiant par class.

    IDENTIFIANT_PERSO3D, IDENTIFINAT_ARME_FUSIL etc...

    Pour chaque class, ce qui permet de charger facilement les �l�ments, lorsque tu vois l'identifiant 3 qui correspondrait � IDENTIFIANT_PERSO3D, tu cr�er la class CPerso3D, tu appels ta m�thode Load(); avec un pointeur sur ton fichier en param�tre, et hop tu as load� l'objet 3D etc...

    Donc n'oublie pas dans CItem l'identifiant "int identifiant;" qui te permettra le chargement�

Discussions similaires

  1. R�ponses: 13
    Dernier message: 25/05/2010, 07h44
  2. Comment lister un nombre inconnu de sous repertoires ?
    Par liocifer dans le forum VBScript
    R�ponses: 2
    Dernier message: 02/06/2008, 19h50
  3. R�ponses: 3
    Dernier message: 05/02/2008, 16h12
  4. g�rer un nombre inconnu d'input text
    Par Ludosjob dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 11/05/2007, 16h22
  5. comment g�rer un nombre non fixe de param�tres entrant ?
    Par c_moi_c_moi dans le forum SAP Crystal Reports
    R�ponses: 4
    Dernier message: 28/03/2006, 12h05

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