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 :

Gérer une collection d'objets prédéfinis


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Par défaut Gérer une collection d'objets prédéfinis
    Bonjour tous le monde,

    Je travaille actuellement à la conception d'un jeu de carte, pour me former en C++ (j'ai deux semaines d'expérience). Dans ce jeu chaque carte possède 4 valeurs qui leurs sont associées (auxquelles viendront se compléter un nom, une image etc). J'ai créé une classe qui permet de manipuler ces cartes, seulement pour l'instant les cartes doivent être créées durant l'exécution du programme.

    J'aimerais créer une collection de cartes prédéfinies qui soit aisément manipulables. J'entend par là qu'il soit possible de connaitre la liste des cartes par programmation. Là seule solution que je voyais était de créer un vector et d'instancier toutes les cartes en début de programme... Seulement, j'ai le sentiment que ce n'est pas très propre. Je pensais aussi à spécifier leurs attributs dans un fichier d'en-tête mais à ce moment là comment connaitre la liste des cartes dans mon programme ?

    Pour information, je parle d'une collection de quelques centaines de cartes qui comme je le disais auront une image associée quand je passerai à la partie graphique du jeu.

    Sinon, voici les sources : http://koyo-k.svn.sourceforge.net/vi...o-k/trunk/src/

    Merci d'avance.

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Tu ne peux pas stocker les informations des cartes dans des fichiers ?
    Tu définis un format, de sorte que tu saches comment lire le fichier pour récupérer chacune des 4 informations concernant une carte.

    Pour les entrées/sorties concernant les fichiers, regarde donc ceci : http://cpp.developpez.com/faq/cpp/?page=fichiers

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Par défaut
    Certes, mais ce qui m'ennuie c'est que ces fichiers seront éditables avec un simple bloc-notes... Je veux dire si il est trop aisé de modifier les attributs des cartes ça pose un problème... De plus si je stocke ces informations en créant mon propre format de fichier, ne vais-je pas réinventer la roue ? J'ai peur de me confronter à des problèmes de performance, car en quelque sorte, je devrai manipuler ces fichiers un peu comme une base de donnée. Sachant qu'à terme je compte introduire des fonctionnalités de jeu online, d'où la nescessité de stocker des informations sur les joueurs également. Ne serait-il pas préférable que je stocke tout ça dans une BDD (mySQL coté serveur), mais coté client je met quoi ? Étant donné qu'il devra y avoir un double pour les fonctionnalités offline ?

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Le client doit avoir ces informations avec lui. Etant donné que ce sont des informations fixes, tu peux crypter le fichier, et au lancement du jeu du décryptes et enregistre tout. Ou alors, tu codes en dur. Tu peux par exemple créer une structure/classe qui représente une carte, et instancier les N cartes en dur.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Par défaut
    Citation Envoyé par Alp Voir le message
    Tu peux par exemple créer une structure/classe qui représente une carte, et instancier les N cartes en dur.
    Oui c'était ma première idée... qui ne me semblait pas très propre (voir mon premier post). Mais si c'est la solution alors... Bref je vais continuer mon prog, étant donné que ce point n'est pas le plus urgent, histoire de me perfectionner un peu en C++ et je reviendrai sur ce point.

    Sinon, quand je parlais de stocker les informations coté serveur c'est simplement pour des questions de triche. En faisant en sorte que le client ne puisse envoyer que des commandes au serveur du genre pose telle carte ici, et en afficher le résultat sans communiquer lui même au serveur la valeur des cartes ou de ses caractéristiques, je pense rendre impossible toute tricherie. Mais effectivement le client doit forcément posséder ces informations en double.

    Merci pour tes réponses en tout cas ;-)

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Pour un truc pareil, je trouve les fichiers abusés (à moins qu'il s'agisse d'un jeu où le nombre de cartes peut sans cesse évoluer (cf Magic:tG et ses rejetons)).
    Et tout lister en dur maladroit.

    Peut-être un vecteur que tu remplis avec une double boucle ? Une sur les couleurs, et une sur les valeurs. Et pour le tarot, une 3e boucle indépendante.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Gérer une collection d'objets
    Par yttrium dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/10/2007, 09h43
  2. Réponses: 6
    Dernier message: 24/03/2006, 09h22
  3. Problème de gestion d'une collection d'objet
    Par poolky dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/02/2006, 21h51
  4. [Struts] <logic:iterate> sur une collection d objets c
    Par trax020 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/05/2005, 00h11
  5. [VB6] Sauvegarder une collection d'objets
    Par Sayagh dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/09/2003, 11h58

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