diff --git a/ElderInternalIgnition/ElderInternalIgnition.cbp b/ElderInternalIgnition/ElderInternalIgnition.cbp index aade84276db97d4f3dcd299d5e71a8331e897e6a..d0e4cdf0a0fd05439b18c158dc02d053e6cf8d27 100644 --- a/ElderInternalIgnition/ElderInternalIgnition.cbp +++ b/ElderInternalIgnition/ElderInternalIgnition.cbp @@ -15,7 +15,7 @@ <Add option="-g" /> </Compiler> <Linker> - <Add library="..\Libs\SDL-1.2.15\lib\SDL_ttf.lib" /> + <Add library="../Libs/SDL-1.2.15/lib/SDL_ttf.lib" /> <Add directory="../Libs/SDL-1.2.15" /> </Linker> </Target> @@ -40,10 +40,10 @@ <Add directory="../Libs/cmocka-1.0.0/include" /> </Compiler> <Linker> - <Add library="..\Libs\libroxml-2.3.0\Build\libroxml.dll" /> - <Add library=".\..\Libs\SDL-1.2.15\bin\SDL.dll" /> - <Add library="..\Libs\cmocka-1.0.0\lib\cmocka.dll.a" /> - <Add library="..\Libs\SDL-1.2.15\lib\SDL_ttf.lib" /> + <Add library="../Libs/libroxml-2.3.0/Build/libroxml.dll" /> + <Add library="./../Libs/SDL-1.2.15/bin/SDL.dll" /> + <Add library="../Libs/cmocka-1.0.0/lib/cmocka.dll.a" /> + <Add library="../Libs/SDL-1.2.15/lib/SDL_ttf.lib" /> <Add directory="./../Libs" /> <Add directory="../Libs/cmocka-1.0.0/lib" /> </Linker> @@ -55,17 +55,14 @@ <Option compilerVar="CC" /> </Unit> <Unit filename="../src/Interface.h" /> - <Unit filename="../src/SDL.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="../src/SDL.h" /> - <Unit filename="../src/SDL_bis.c"> - <Option compilerVar="CC" /> - </Unit> <Unit filename="../src/TerrainsXML.c"> <Option compilerVar="CC" /> </Unit> <Unit filename="../src/TerrainsXML.h" /> + <Unit filename="../src/affichage.c"> + <Option compilerVar="CC" /> + </Unit> + <Unit filename="../src/affichage.h" /> <Unit filename="../src/carte.c"> <Option compilerVar="CC" /> </Unit> diff --git a/src/attaques.c b/src/attaques.c index 90738746ac50cb3cb05600c87e4e2cd0e6c5adcc..ad94b8840e572881a56a788f967a37b3fe675b8b 100644 --- a/src/attaques.c +++ b/src/attaques.c @@ -5,8 +5,32 @@ #include "structures.h" +/*! + * \fn attaquer(Personnage *attaquant, Attaque *attaque_select, Personnage *cible) + * \brief La fonction declenche une attaque partant d'un attaquant sur une cible. + * + * \param un personnage attaquant, une attaque, un personnage cible. + * \return Un entier. + */ +int attaquer(Personnage *attaquant, Attaque *attaque_select, Personnage *cible) +{ + int i=0; + for(i=0; i<5; i++) + { + ajouter_effet(attaquant, attaque_select->effets[i], cible); + } + return 0; +} -int attaquer(Personnage *attaquant, Personnage *cible) + +/*! + * \fn int ajouter_effet_perso(Effet *effet_select, Personnage *cible) + * \brief La fonction ajoute un effet sur un personnage. + * + * \param Un effet, un personnage cible. + * \return Un entier. + */ +int ajouter_effet_perso(Effet *effet_select, Personnage *cible) { @@ -14,10 +38,37 @@ int attaquer(Personnage *attaquant, Personnage *cible) } -int appliquer_effets(Personnage *cible) +/*! + * \fn int appliquer_effet(Effet *effet_select, Personnage *cible) + * \brief La fonction applique un effet sur un personnage. + * + * \param Un effet, un personnage cible. + * \return Un entier. + */ +int appliquer_effet(Effet *effet_select, Personnage *cible) { + (cible->PV) -= (effet_select->valeur_degats) +} + + +/*! + * \fn Effet* init_effet() + * \brief La fonction initialise un effet. + * + * \return Un effet. + */ +Effet* init_effet() +{ + Effet* effet_A = malloc(sizeof(Effet)); + + effet_A->nb_tours = 0; + effet_A->valeur_degats = 0; + effet_A->valeur_degats_duree = 0; + effet_A->valeur_soin = 0; + effet_A->valeur_soin_duree = 0; + + return effet_A; - return 0; } 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 df8557a1c87701596aa20794fe8a97adc0b9e9ef..05e62718100d9de49e05ceab7e4b5d6817e4b021 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(); //saisie_noms_joueurs(); /*lance le jeu à l'ecran "entrer nom joueur 1"*/ affichage_ecran_accueil(); /*lance le jeu direct à l'ecran de lancement, sans rentrer les noms des joueurs*/