TER M1 Jeu de stratégie historique

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
TER M1 Jeu de stratégie historique

Forum du sujet de TER : Algorithme min-max dans les jeux de stratégie historique, pour les étudiants de M1 de Montpellier II 2008-2009.

-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

3 participants

    Quelques découvertes

    Cédric
    Cédric


    Messages : 205
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Quelques découvertes

    Message  Cédric Dim 29 Mar - 18:56

    En galérant à charger la nouvelle carte que j'ai créée (plus grande que l'ancienne), je me suis rendu compte qu'il y a quelques trucs pas terribles dans la classe Config :

    Un premier :
    Code:
    struct caracUnite
    {
        int atq, def, hp, pointsDeplacement, distanceAttaque;
        std::string idUnite, nomUnite, imageUnite, race;
        bool commandant;
        float cout_plaine, cout_montagne, cout_eaup, cout_eaupp, cout_foret, cout_marais, cout_chateau;
    };
    En codant en dur "cout_plaine", "cout_montagne", etc, toute modification des données entraîne des modifications dans le code, ce qui est plutôt horrible Very Happy
    C'est un map<string,float> qu'il faudrait ici, dans lequel on ait des associations du genre "Pl" => 1.0f, "Fo" => 1.25, etc. Vu qu'il est assez improbable qu'on ajoute des terrains dans un avenir proche, pas besoin de te presser à te corriger ça. Mais il faudra quand même le faire à un moment ou à un autre : si Koriche voit ça il va nous assassiner ^^

    D'autres trucs :
    Code:
    struct caracCarte
    {
        [...]terrainUse[7];
        [...]std::string laMap[50][50];
    };
    [...]
    struct allCarac
    {
        caracUnite configUnite[9]; // 9 unites differentes dans l'ordre alphabetique
        caracTerrain configTerrain[7]; // 7 terrains differents dans l'ordre alphabetique
        caracCarte configCarte[10]; // 10 map differentes dans l'ordre alphabetique
        caracScenario configScenario[10]; // 10 scenarios differents dans l'ordre alphabetique
        [...]
    };
    (j'en ai vu quelques autres ailleurs)

    Problèmes :
    - si on fait une carte dont l'une des dimensions dépasse 50 cases, ça merde (c'est ce que je viens d'expérimenter à l'instant :p)
    - si on a plus de 7 types de terrains, ça merde
    - si on a plus de 10 scénarios, ça merde
    - etc

    Pour le moment je vais grossir les bornes pour pouvoir avancer. Mais ça aussi, ça va nous plomber la note si un prof le voit, donc faudra le changer... (cad mettre des vector à la place, pour que le code soit un minimum dynamique)

    ps : je devrais bientôt balancer une nouvelle version du code avec les problèmes principaux corrigés :p
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Dim 29 Mar - 21:29

    oui mais ça c'est si on fait un truc de fou. Pour le moment avec des petits truc normaux ça pause pas de problème.

    cheers

    Donc un souci d'upgrade ou d'addon ça posera problème. Mais bon, si ça marche petit, ça marche grand Wink
    enfin bon on ce comprend :p

    c'est un détail.
    avatar
    sebastien


    Messages : 137
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  sebastien Dim 29 Mar - 21:55

    Pas les 50 fixe pour la carte ^^
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Dim 29 Mar - 22:06

    oui la je suis d'accord, tu peux le mettre a 200 Wink on ira jamais plus loin XD
    Cédric
    Cédric


    Messages : 205
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Cédric Dim 29 Mar - 22:21

    C'est pas le problème Sad

    Déjà, on ne peut pas mettre 200 comme ça dans le code, ça ne compile pas (j'ai passé une heure à essayer de comprendre pourquoi le programme ne compilait plus, après avoir passé cette valeur à 100 ^^)

    Le problème, c'est que c'est SUPER GORE ! C'est même pas une question de faire des trucs de fou ou pas là, c'est gore tout court Very Happy Comme je l'ai dit tout à l'heure, pour le moment ce n'est pas gênant, le principal étant que ça fonctionne. Mais si ça reste dans le code final et que des profs le voient, ils vont nous massacrer ^^ (c'est quand même THE truc que les profs nous disent de ne pas faire en boucle depuis le début des études)
    Cédric
    Cédric


    Messages : 205
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Cédric Lun 30 Mar - 1:07

    A part ça, j'ai l'impression que tu as oublié un truc : les bonus d'une unité face à une autre. Par exemple, il faudrait qu'il y ait dans lancier.cfg les lignes :
    atq=15
    atq_cavalier_lourd=15
    atq_cavalier_leger=15
    (donc attaque totale de 30 face à la cavalerie)

    J'ai tenté de les ajouter, et ça me dit que ce n'est pas une clé reconnue. A moins que tu reconnaisses ça d'une autre manière ?
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Lun 30 Mar - 1:39

    Oui je comprend que c'est gore Wink

    non j'ai pas mis les bonus malus contre les classes, car quand je l'ai fait, on ne les avaient pas Wink
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Mar 31 Mar - 0:48

    je modifie en tableau dynamique la.

    Après me faudra les bonus malus, si tu les as Wink
    Cédric
    Cédric


    Messages : 205
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Cédric Mar 31 Mar - 1:44

    Pour le moment, ça se limite à ce dont j'ai parlé dans mon post précédent :

    Dans lancier.cfg :
    atq_cavalier_lourd=15 // cad +15, donc 30 d'attaque en tout
    atq_cavalier_leger=15 // idem)

    Enfin bon, rien ne t'empêche de mettre 15000 pour vérifier que tu charges bien les bonus dans un premier temps hein Very Happy
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Mar 31 Mar - 2:13

    ok.

    Par contre je rencontre un petit problème sur le vector 2D Suspect (pour virer leScenar[50][5] albino )
    je le continuerai demain, car je me lève a 8h pour le cour de ce matin clown
    Cédric
    Cédric


    Messages : 205
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Cédric Mar 31 Mar - 3:15

    Par contre je rencontre un petit problème sur le vector 2D Suspect (pour virer leScenar[50][5] albino )
    cad ?

    Moi en tous cas demain à 8h, je dormirai bien profondément Very Happy
    Quentin
    Quentin


    Messages : 120
    Date d'inscription : 24/01/2009

    Quelques découvertes Empty Re: Quelques découvertes

    Message  Quentin Mar 31 Mar - 15:02

    Cédric a écrit:
    Par contre je rencontre un petit problème sur le vector 2D Suspect (pour virer leScenar[50][5] albino )
    cad ?

    Moi en tous cas demain à 8h, je dormirai bien profondément Very Happy

    le problème venait qu'il était tard et que j'avais sommeil :p je viens de le régler en 2 minutes :p

    Bon j'ai tout mis en vector Smile

    voici le lien Wink ancien

    --------------------------------------------
    édit du 01/04/09 c'est pas un fish Wink

    la dernière version avec les modatq et def

    ps: les cout_plaine et tout reste pareil, on verra pour le maper plus tard Wink

    Contenu sponsorisé


    Quelques découvertes Empty Re: Quelques découvertes

    Message  Contenu sponsorisé


      La date/heure actuelle est Jeu 2 Mai - 7:39