diff --git a/src/controleur.c b/src/controleur.c index 88cd8f269d7cdd636301a85edbcee2331335e7bc..07b8e0b71583d38a402a33a27edd874f5b44f5ff 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -215,6 +215,7 @@ Case * trouverCase(Carte_Jeu * c, int x, int y){ * \return L'indice de la classe du personnage si le Personnage a été correctement ajouté, -1 sinon. */ int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur){ + Personnage * p = NULL; int i; i=0; //Recherche de la classe dans le Package @@ -226,18 +227,16 @@ int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur){ } //Création du personnage - Personnage * p = default_personnage(i,packGlobal); - - printf("La classe du personnage %d du joueur %d est %s\n", numTab+1, numJoueur, getClasse(p)); + p = default_personnage(i,packGlobal); //Ajout du Personnage à l'équipe du Joueur switch (numJoueur){ case 1: - setOnFirstJoueur(partieGlobale->participants); + setOnFirstJoueur(getListJoueur(partieGlobale)); break; case 2: - setOnFirstJoueur(partieGlobale->participants); - nextJoueur(partieGlobale->participants); + setOnFirstJoueur(getListJoueur(partieGlobale)); + nextJoueur(getListJoueur(partieGlobale)); break; default: return -1; @@ -269,6 +268,7 @@ int selectionnerCarte(char * nomCarte){ while((strcmp(nomCarte,packGlobal.Cartes_Package[i].nom)!=0)&&(i<nbCartes())){ i++; } + if(i>=nbCartes()){ return 0; } @@ -276,22 +276,26 @@ int selectionnerCarte(char * nomCarte){ if(initCarte(&packGlobal.Cartes_Package[i],getCarte(partieGlobale),&packGlobal)==0){ return 0; } - printf("la carte selectionnee est %s\n",nomCarte); + return 1; +} + +void initPositions(){ // Positionnement des Personnages sur la Carte_Jeu. - setOnFirstJoueur(partieGlobale->participants); + int i; + + setOnFirstJoueur(getListJoueur(partieGlobale)); for(i=0;i<TAILLE_MAX_GROUPE;i++){ - printf("test1\n"); - setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]); //le probleme est ici - printf("test2\n"); + setPosition(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),i),&partieGlobale->c->Tab_Cases[6+i][0]); } - nextJoueur(partieGlobale->participants); + nextJoueur(getListJoueur(partieGlobale)); for(i=0;i<TAILLE_MAX_GROUPE;i++){ - setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][HAUT_MAX_CARTE-1]); + setPosition(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),i),&partieGlobale->c->Tab_Cases[6+i][HAUT_MAX_CARTE-1]); } - return 1; } + + diff --git a/src/controleur.h b/src/controleur.h index ab085f7f5dd99cc3ae61841aa7e5fa0735c63355..308acd0efa316f3a41ba34fb6b0d3c2dea0a1b79 100644 --- a/src/controleur.h +++ b/src/controleur.h @@ -27,6 +27,7 @@ Case * trouverCase(Carte_Jeu * c, int x, int y); int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur); int selectionnerCarte(char * nomCarte); +void initPositions(); #endif // CONTROLEUR_H diff --git a/src/joueur.c b/src/joueur.c index 58c5f362254ebc2f145207d8780d6f68050a4812..e9cb79cbcf495b4960d62f12b5156c4fc28a6178 100644 --- a/src/joueur.c +++ b/src/joueur.c @@ -65,7 +65,7 @@ void setNomJoueur(Joueur * j, char * nom){ * \return Un pointeur vers le Personnage du Joueur a l'indice i dans le tableau groupe, NULL si l'indice n'est pas dans le tableau. */ Personnage * getPersonnage(Joueur * j, int i){ - if(i<TAILLE_MAX_GROUPE-1){ + if(i<TAILLE_MAX_GROUPE){ return j->groupe[i]; } return NULL; diff --git a/src/main.c b/src/main.c index 0f16d430801d96b1c275097a63ba7cab99013998..e4419348047cc00e20cd5bb32a4f68cc859377e7 100644 --- a/src/main.c +++ b/src/main.c @@ -10,6 +10,8 @@ #include "carte.h" #include "Interface.h" #include "gamePackage.h" +#include "joueur.h" +#include "partie.h" /*! @@ -87,8 +89,6 @@ int main(void) { //init_jeu("../resources/Init_jeu.xml"); - - initJeu(); main_affichage();