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.

Le Deal du moment : -45%
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go ...
Voir le deal
1099.99 €

3 participants

    ptit probleme

    Quentin
    Quentin


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

    ptit probleme Empty ptit probleme

    Message  Quentin Mar 17 Fév - 2:32

    quand on fait

    partie.getGroupe(2,2)->getTypeUnite().getNom();

    sur une case sans unité donc NULL, ça plante ;-)
    tu peux corriger Cédric Wink pour que je test si ce que j'ai fais marche Wink
    Merci.
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Mar 17 Fév - 13:23

    C'est pas un bug, c'est tout à fait volontaire ^^
    Puisqu'en 2,2 il n'y a aucun groupe, getGroupe(2,2) ne peut retourner que NULL. Et quand on appelle des méthodes sur NULL, ça ne peut pas faire des miracles non plus Very Happy
    Il faut juste que tu vérifies que le groupe ne soit pas NULL avant d'en demander le type et le nom.
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Mar 17 Fév - 14:36

    ok
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Mar 17 Fév - 18:16

    j'ai corrigé mon probleme, il venait d'une mauvaise indexation :p au lieu de mettre l'unité dans le scénario courant, je la mettais dans le scénario[nombre de scénar]

    pas facile a voir, j'ai des nom de variable grand format pour bien les distinguer et en plus elle sont dans des structs, elle même dans d'autre structures :p

    Enfin bon, tout ça pour dire que ça marche. Ton exemple marche sur une carte que je charge Wink

    code a venir.
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Mar 17 Fév - 18:55

    voici le code
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Mar 17 Fév - 20:24

    Bon bah voilà, t'es arrivé au bout de tes peines Very Happy

    J'essaierai de me motiver demain à grouper mon code, le tien et celui de Sébastien (trop la flemme aujourd'hui ! Very Happy). Il faudra juste que je modifie 1 ligne et en déplace 3, pour conserver une méthode chargerDonnees(...) ne prenant qu'un string en paramètre (pour cacher son fonctionnement au reste du programme). Je vais donc enlever le second paramètre, et je déplacerai au début de ta fonction le code que tu as mis dans le main :
    Code:
       Config lesConfigDuJeu;
       lesConfigDuJeu.lireTousLesFichiersConfig();
       allCarac lesConfig = lesConfigDuJeu.getAllCarac();
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Mar 17 Fév - 21:27

    et non !

    Car :

    Code:
      Config lesConfigDuJeu;
      lesConfigDuJeu.lireTousLesFichiersConfig();
      allCarac lesConfig = lesConfigDuJeu.getAllCarac();
    ça c'est le loading des données (au début du programme) et ton chargerDonnees(...) c'est quand ta choisi ton scénario et qu'il prend les donnés du loading et les charges dans ta 'partie'. Donc si tu met ces 3 lignes dans chargerDonnees(..), ça va charger toutes les données a chaque fois que tu lance un scénar.

    Pour n'avoir qu'un paramètre a chargerDonnees(...) il faudrait que les données du loading soit en variable globale.
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Mar 17 Fév - 23:11

    et non ! (comment ça je copie ? Very Happy)

    Rappel : on avait dit que réaliser un menu serait une grosse perte de temps (faire un menu ressemblant à quelque chose avec sfml, bof Very Happy), et donc qu'on allait faire que le programme se lance directement, avec en argument les paramètres tels que le nom du scénario. Donc une exécution du jeu, c'est forcément le lancement d'un scénario précis, son exécution, et ça s'arrête là.

    Il n'y a donc pour le moment pas un grand intérêt à dissocier les deux étapes que tu décris. Mais en fait, le problème est avant tout le fait d'avoir ce code là dans la fonction main. Si on doit décomposer le chargement en deux étapes un jour (parce qu'on aura mis un menu par ex), il faudra plutôt ajouter à GestionnaireDonnees une méthode, pour avoir au final :
    - chargerDonnees(void) // Une méthode que l'on appelle au début de la fonction main, pour charger l'ensemble des fichiers pouvant servir
    - et un truc du genre setScenario(string) // Pour mettre tes données dans une instance de Partie (méthode appelée quand l'utilisateur choisit le scénario)
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Mar 17 Fév - 23:55

    ah la je dit oui, je savais pas geek
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Mer 18 Fév - 14:43

    J'ai passé une demi heure à essayer de comprendre pourquoi le programme n'arrivait pas à trouver le fichier Scenario1.cfg... Pour au final me rendre compte que c'est Scenario1 qu'il fallait envoyer à la méthode chargerDonnees et non Scenario1.cfg Very Happy

    C'est toujours sur les problèmes les plus stupides qu'on passe le plus de temps Very Happy
    avatar
    sebastien


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

    ptit probleme Empty Re: ptit probleme

    Message  sebastien Mer 18 Fév - 14:44

    oui comme une histoire de joystick... Rolling Eyes
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Mer 18 Fév - 15:04

    En faisant quelques tests j'ai eu un problème : lorsque je charge le fichier Scenario1, la carte carte1 est elle aussi chargée, mais pas complètement :
    - Pour les infos de base comme la hauteur ou la largeur c'est bon
    - Pour la matrice de cases par contre, je crois que tu as oublié de charger les terrains (j'obtiens une carte 100% pur plaine, alors que t'avais mis des montagnes au centre)
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Jeu 19 Fév - 4:47

    tu es sur ? car quand je test la case 3,3 ça me donne une montagne
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Jeu 19 Fév - 15:24

    Bah sûr de ce que j'ai vu oui, mais si chez toi ça va c'est que le problème doit venir en fait de moi :p
    Je vais re-regarder ça ^^
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Jeu 19 Fév - 17:34

    moi y a aucun problème, la preuve.

    Code:
        cout << "--------------------------------------------" <<endl;
        cout << "Afficher la map : " << endl;

        for (int i=0; i < partie.getLargeurCarte(); i++)
        {
            for (int j=0; j < partie.getHauteurCarte(); j++)
            {
                cout << partie.getTerrain(i,j).getNom() << " ";
            }
            cout << endl;
        }
        cout << "--------------------------------------------" <<endl;

    Résultat :


    Largeur carte : 12
    Hauteur carte : 12
    Nombre de joueurs : 2
    Le joueur qui a la main : 1
    Numero du tour actuel : 1
    --------------------------------------------
    Afficher la map :
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Mt Mt Mt Mt Pl Pl Pl Pl
    Pl Pl Pl Pl Mt Mt Mt Mt Pl Pl Pl Pl
    Pl Pl Pl Pl Mt Mt Mt Mt Pl Pl Pl Pl
    Pl Pl Pl Pl Mt Mt Mt Mt Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl
    --------------------------------------------
    Quel groupe sur la case (2,1) ? fantassin_leger (* 100 )

    Puissance d'attaque : 20
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Jeu 19 Fév - 18:01

    j'pense a un truc, ta carte1.map est comme ça ?


    carte1.map
    id=carte1
    nom=Carte 1
    largeur=12
    hauteur=12

    terrain=Pl,Mt

    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Cédric
    Cédric


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

    ptit probleme Empty Re: ptit probleme

    Message  Cédric Jeu 19 Fév - 18:49

    Oui. C'est pas la bonne version ? Very Happy
    Quentin
    Quentin


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

    ptit probleme Empty Re: ptit probleme

    Message  Quentin Jeu 19 Fév - 19:16

    bin si, c'est la bonne version

    id=carte1
    nom=Carte 1
    largeur=12
    hauteur=12

    terrain=Pl,Mt

    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Mt,Mt,Mt,Mt,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl
    Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl,Pl

    Contenu sponsorisé


    ptit probleme Empty Re: ptit probleme

    Message  Contenu sponsorisé


      La date/heure actuelle est Ven 17 Mai - 13:27