[C++/SQL/Analyse] Problème de conception
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

[C++/SQL/Analyse] Problème de conception



  1. #1
    Aenonis

    [C++/SQL/Analyse] Problème de conception


    ------

    Bonjour à toutes et à tous,

    Je me lance dans un petit projet personnel et je cale sur la conception en classes vis-à-vis de la base de données qui ira derrière.

    En gros, je vous explique le topo :
    Ce sera un jeu de cartes avec des classes pour chaque carte.
    Par exemple, la carte "Sortilège" appartiendra à la classe "Magicien" tandis que la carte "Coup de sabot" appartiendra à la classe "Cavalier".
    Dans mon programme C++, je sais que j'aurai mes classes "Carte" et "Classe" et que Carte aura un pointeur vers Classe et que Classe aura une série de pointeurs vers des Carte.
    Vu que mon jeu sera en constante évolution, je ne veux pas qu'il y ait "Magicien"/"Cavalier" en tant que Classe et "Sortilège"/"Coup de sabot" en tant que Carte en dur dans mon exécutable, j'aimerais créer un lien entre ma BD et mon jeu afin de tout charger au démarrage et ensuite jouer avec mes objets "Carte"/"Classe" du programme...

    Mais je ne sais pas comment mettre ça en pratique .

    Pour C++, je suis en C++14, sous QtCreator. Pour SQL, je n'ai pas encore de BD, mais j'ai Navicat Premium avec lequel j'ai déjà travaillé par le passé lors de mes études .

    Merci d'avance,

    Aenonis

    -----
    Aenonis

  2. #2
    Bluedeep

    Re : [C++/SQL/Analyse] Problème de conception

    Bonjour

    Citation Envoyé par Aenonis Voir le message
    Par exemple, la carte "Sortilège" appartiendra à la classe "Magicien" tandis que la carte "Coup de sabot" appartiendra à la classe "Cavalier".
    Déjà, on a du mal à comprendre; c'est quoi une classe qui "appartient" a une autre ?
    Je n'ai pas lu plus loin.

  3. #3
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    Ce n'est pas une "classe" qui appartient à une autre.

    ce sont des "cartes" qui appartiennent chacune à une "classe" ...

    le magicien aura son panel de cartes tandis que le cavalier aura également son propre panel .

    merci de ton attention

    Aenonis
    Aenonis

  4. #4
    Bluedeep

    Re : [C++/SQL/Analyse] Problème de conception

    Citation Envoyé par Aenonis Voir le message
    Ce n'est pas une "classe" qui appartient à une autre.

    ce sont des "cartes" qui appartiennent chacune à une "classe" ...
    Au temps pour moi, j'avais mal lu.

    Donc a priori tu veux faire évoluer ton modèle à partir des infos de la DB ? C++ n'étant pas outillé pour la création dynamique de type, je ne vois pas trop bien.

    Au niveau de la DB en revanche c'est assez simple à faire via un "meta-modéle" : en gros 4 tables, une qui définit les classes, une les attributs de chaque classe, une les instances et une avec les valeurs de propriétés pour chaque instance - ça permet de décrire en base des modèles objets simples.

  5. A voir en vidéo sur Futura
  6. #5
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    ce n'est pas de la création dynamique de type, ce sont les cartes qui vont évoluer, les classes dans le projet C++ ne changeront pas, le module que je dois écrire, c'est celui qui transformera mes données dans la BD en Carte et Classe du programme C++.

    quand je dis "évoluer", c'est la BD qui évolue, pas le programme en tant que tel .

    désolé pour l'incompréhension

    merci d'avance,

    Aenonis
    Aenonis

  7. #6
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    tu as compris le problème initial avec mes explications que je viens de fournir ?

    merci d'avance,

    Aenonis
    Aenonis

  8. #7
    Bluedeep

    Re : [C++/SQL/Analyse] Problème de conception

    Citation Envoyé par Aenonis Voir le message
    tu as compris le problème initial avec mes explications que je viens de fournir ?
    A vrai dire, une fois précisé que ton modèle objet est fixé (donc effectivement pas de problème de type dynamique) je ne vois pas où tu rencontres une difficulté. (instancier une classe à partir des infos dans une DB ne posant aucun problème en soit).

    Peux tu préciser ?

  9. #8
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    d'accord.

    tu as bien compris ce que je veux faire , merci .

    je vais tenter d'expliquer ma problématique.

    je ne sais pas comment "bien" modéliser ma BD, tu t'imagines bien que j'aurai des centaines et des centaines de cartes et une dizaine de classes et je n'ai pas envie que ce soit le bordel dans ma BD une fois que je l'aurai remplie...

    une fois que j'aurai bien modélisé la BD, il n'y aura plus de soucis et je pourrai passer à la partie C++ .

    merci d'avance,

    Aenonis

    PS : les actions qui sont écrites sur les cartes genre "Inflige 2 points de dégâts avec vos sabots." devront sûrement être écrites dans la BD mais qu'en est-il de l'effet en jeu ? il n'y a pas un genre de "trigger" écrit dans la BD qui sera lancé ou je devrai écrire une fonction dans mon code C++ pour chaque carte qui exécute le texte de la carte ?
    Aenonis

  10. #9
    Dlzlogic

    Re : [C++/SQL/Analyse] Problème de conception

    Bonjour,
    Je pense qu'il faut bien séparer les choses
    1- il y a la BD
    2- le programme, avec entre autre l'utilisation de la BD.

    Vous devriez commencer par définir votre BD. Il y a certains principes fondamentaux : ne jamais mettre la même information à deux endroits différents. Et pour l'instant, oubliez complètement tout ce qui concerne la programmation.

  11. #10
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    je te remercie

    pour le moment, je rentre bêtement mes cartes avec leur texte dans ma DB.

    ce que je me pose comme question, c'est après : dans mon code, en C++, quand une carte dit "Inflige 2 points de dégâts.", une autre "Pioche deux cartes." et la troisième "Inflige 1 point de dégât. Pioche une carte.", je fais comment pour linker les diverses actions relatives à la carte à mon code ?

    merci d'avance ,

    Aenonis
    Aenonis

  12. #11
    Dlzlogic

    Re : [C++/SQL/Analyse] Problème de conception

    Oh, mais il ne faut surtout pas "rentrer bêtement" les cartes dans la BD.
    Une carte contient forcément plusieurs choses, un indice (ou ID ou N° ou index) une description de ce qu'elle est, et une information ou des informations sur ce à quoi elle est reliée. Par exemple ce qui l'a provoqué, ce qu'elle provoque. Ce seront généralement des indices (ou index) sur d'autres tables.
    Donc, un conseil, décrivez ce que vous voulez faire. Autrefois on appelait ça un algorithme, maintenant, on suppose que tout analyste et tout programmeur est suffisamment compétent et expérimenté pour avoir tout dans la tête. Je les admire, j'écris toujours ce que je veux faire (crayon/papier) avant de le faire.

  13. #12
    Aenonis

    Re : [C++/SQL/Analyse] Problème de conception

    wahou !

    tu es un génie

    je vais tout repenser, heureusement que tu m'en parles, sinon, j'aurais pu tout réécrire ...

    je vais refaire et vous tenir au courant,

    merci ,

    Aenonis
    Aenonis

Discussions similaires

  1. problème de conception
    Par brescoprimo dans le forum Contraception, gynécologie, grossesse et sexualité
    Réponses: 2
    Dernier message: 19/03/2013, 07h37
  2. Réponses: 0
    Dernier message: 01/11/2011, 19h28
  3. Réponses: 1
    Dernier message: 31/10/2011, 18h11
  4. probleme de conception d'un site web
    Par invitecbaa9127 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 31/05/2010, 18h22
  5. conception USB: problème incompréhensible
    Par chestercat dans le forum Électronique
    Réponses: 3
    Dernier message: 26/03/2009, 11h03