Skip to content
Snippets Groups Projects
Commit e6bd426b authored by ColinDrieu's avatar ColinDrieu
Browse files

Correction du bug avec la fonction initialisant la position des personnages sur la carte.

parent 575f801d
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
......@@ -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;
}
......@@ -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;
}
......@@ -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
......
......@@ -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;
......
......@@ -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*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment