Skip to content
Snippets Groups Projects
Commit 201e5979 authored by ColinDrieu's avatar ColinDrieu
Browse files
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
parents 73dd9dfd 8c3a5259
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <SDL/SDL_ttf.h> #include <SDL/SDL_ttf.h>
#include "SDL.h" #include "SDL.h"
#include "structures.h" #include "structures.h"
#include "controleur.h"
...@@ -66,6 +67,10 @@ int SDL_bis() ...@@ -66,6 +67,10 @@ int SDL_bis()
char nom_joueur1[TAILLE_NOMS] = ""; char nom_joueur1[TAILLE_NOMS] = "";
fgets(nom_joueur1, sizeof(nom_joueur1), stdin); fgets(nom_joueur1, sizeof(nom_joueur1), stdin);
<<<<<<< HEAD
char nom_joueur2[15] = "";
// ajouter_joueurs(nom_joueur1,nom_joueur2, &etat); //a coder par colin
=======
texte = TTF_RenderText_Shaded(police, "Entrez le nom du joueur 2", couleurBlanche,couleurNoire); texte = TTF_RenderText_Shaded(police, "Entrez le nom du joueur 2", couleurBlanche,couleurNoire);
SDL_BlitSurface(texte,NULL,ecran,&pos_texte); SDL_BlitSurface(texte,NULL,ecran,&pos_texte);
SDL_Flip(ecran); SDL_Flip(ecran);
...@@ -81,6 +86,7 @@ int SDL_bis() ...@@ -81,6 +86,7 @@ int SDL_bis()
pos_texte.x=(ecran->w-texte->w)/2; pos_texte.x=(ecran->w-texte->w)/2;
pos_texte.y=ecran->h-200; pos_texte.y=ecran->h-200;
rectangle=SDL_CreateRGBSurface(SDL_HWSURFACE,texte->w,texte->h,NULL,0,0,255,NULL); rectangle=SDL_CreateRGBSurface(SDL_HWSURFACE,texte->w,texte->h,NULL,0,0,255,NULL);
>>>>>>> 2aeeb25b1ba76ad66d203c7a609516daa79b3569
SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,0,0,0)); SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,0,0,0));
SDL_BlitSurface(logo,NULL,ecran,&pos_logo); SDL_BlitSurface(logo,NULL,ecran,&pos_logo);
...@@ -88,7 +94,6 @@ int SDL_bis() ...@@ -88,7 +94,6 @@ int SDL_bis()
SDL_BlitSurface(rectangle,NULL,ecran,&pos_texte); SDL_BlitSurface(rectangle,NULL,ecran,&pos_texte);
SDL_Flip(ecran); SDL_Flip(ecran);
while(etat==LANCEMENT) while(etat==LANCEMENT)
{ {
SDL_WaitEvent(&event); SDL_WaitEvent(&event);
......
...@@ -67,31 +67,25 @@ int estVide(Competence *c) ...@@ -67,31 +67,25 @@ int estVide(Competence *c)
int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) /* Ne fonctionne pas */ int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) /* Ne fonctionne pas */
{ {
if(estVide(parent)) if(estVide(parent))
{ {
init_Competence(parent->enfant); init_Competence(parent->enfant);
parent->enfant = nouvel_enfant; parent->enfant = nouvel_enfant;
} }
else else // Solution cracra mais ça ne marche pas autrement (avec un while) //
{ {
init_Competence(parent->frere); if(estVide(parent->enfant))
parent->frere = nouvel_enfant;
/* Ne fonctionne pas */
/*
Competence *enfant_temp;
enfant_temp=init_Competence(enfant_temp);
enfant_temp = parent->enfant;
while(enfant_temp!=NULL)
{ {
enfant_temp = enfant_temp->frere; parent->enfant->frere = nouvel_enfant;
}
else if(estVide(parent->enfant->frere))
{
parent->enfant->frere->frere = nouvel_enfant;
}
else if(estVide(parent->enfant->frere->frere))
{
parent->enfant->frere->frere->frere = nouvel_enfant;
} }
enfant_temp->frere = nouvel_enfant;
parent->enfant->frere = nouvel_enfant;
*/
} }
return 0; return 0;
} }
...@@ -146,7 +140,6 @@ int taille(Competence *noeud) ...@@ -146,7 +140,6 @@ int taille(Competence *noeud)
return compteur; return compteur;
} }
/*! /*!
* \fn unsigned int hauteur(Competence *noeud) * \fn unsigned int hauteur(Competence *noeud)
* \brief La fonction indique la hauteur d'une competence dans l'arbre. * \brief La fonction indique la hauteur d'une competence dans l'arbre.
...@@ -172,8 +165,6 @@ unsigned int hauteur(Competence *noeud) ...@@ -172,8 +165,6 @@ unsigned int hauteur(Competence *noeud)
} }
} }
/*! /*!
* \fn boolean est_connue(Competence *c) * \fn boolean est_connue(Competence *c)
* \brief La fonction indique si une competence est connue ou non. * \brief La fonction indique si une competence est connue ou non.
...@@ -209,8 +200,6 @@ unsigned int NbEnfants(Competence *noeud) ...@@ -209,8 +200,6 @@ unsigned int NbEnfants(Competence *noeud)
return nb; return nb;
} }
/*! /*!
* \fn boolean * est_complet(Competence *noeud) * \fn boolean * est_complet(Competence *noeud)
* \brief La fonction verifie si l'arbre est complet ou non. * \brief La fonction verifie si l'arbre est complet ou non.
...@@ -228,16 +217,11 @@ boolean est_complet(Competence *noeud) ...@@ -228,16 +217,11 @@ boolean est_complet(Competence *noeud)
return 1; return 1;
} }
int chemin_auto_competence(Competence* c) /* Renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée */ int chemin_auto_competence(Competence* c) /* Renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée */
{ {
return 0; return 0;
} }
Effet_Competence * get_effet(Competence *c) /* Renvoie l'effet d'une competence */ Effet_Competence * get_effet(Competence *c) /* Renvoie l'effet d'une competence */
{ {
return c->effet; return c->effet;
...@@ -265,12 +249,12 @@ Competence* Extraire_Arbres(char *filename) ...@@ -265,12 +249,12 @@ Competence* Extraire_Arbres(char *filename)
Competence *Arbre_Actuel; Competence *Arbre_Actuel;
int nb_Comp1=0, i_1=0; int nb_Comp1=0, i_1=0;
init_Competence(Arbre_Actuel); Arbre_Actuel = init_Competence(Arbre_Actuel);
nb_Comp1 = roxml_get_chld_nb(ArbreXML_Actuel); nb_Comp1 = roxml_get_chld_nb(ArbreXML_Actuel);
printf("L'arbre %d contient %d competences de niveau 1\n",i_0, nb_Comp1); printf("L'arbre %d contient %d competences de niveau 1\n",i_0, nb_Comp1);
set_comp_name(Arbre_Actuel,roxml_get_content(roxml_get_attr(ArbreXML_Actuel,"id",0),NULL,0,NULL)); set_comp_name(Arbre_Actuel,roxml_get_content(roxml_get_attr(ArbreXML_Actuel,"id",0),NULL,0,NULL));
printf("L'arbre actuel a pour nom : %s\n", Arbre_Actuel->nomComp); printf("\nL'arbre actuel a pour nom : %s\n", Arbre_Actuel->nomComp);
/* ---------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------- */
/* Extraction des competences 1 */ /* Extraction des competences 1 */
...@@ -282,75 +266,143 @@ Competence* Extraire_Arbres(char *filename) ...@@ -282,75 +266,143 @@ Competence* Extraire_Arbres(char *filename)
Competence *Competence_1; Competence *Competence_1;
int nb_Comp2=0, i_2=0; int nb_Comp2=0, i_2=0;
init_Competence(Competence_1); Competence_1 = init_Competence(Competence_1);
CompetenceXML_1 = roxml_get_chld(ArbreXML_Actuel, NULL, i_1); CompetenceXML_1 = roxml_get_chld(ArbreXML_Actuel, NULL, i_1);
nb_Comp2 = roxml_get_chld_nb(CompetenceXML_1); nb_Comp2 = roxml_get_chld_nb(CompetenceXML_1);
printf("La competence numero %d de niveau 1 contient %d competences de niveau 2\n",i_1+1,nb_Comp2); printf("La competence numero %d de niveau 1 contient %d competences de niveau 2\n",i_1+1,nb_Comp2);
set_comp_name(Competence_1,roxml_get_content(roxml_get_attr(CompetenceXML_1,"nom",0),NULL,0,NULL)); set_comp_name(Competence_1,roxml_get_content(roxml_get_attr(CompetenceXML_1,"nom",0),NULL,0,NULL));
set_comp_id(Competence_1,roxml_get_content(roxml_get_attr(CompetenceXML_1,"id",0),NULL,0,NULL));
set_comp_prix(Competence_1,roxml_get_content(roxml_get_attr(CompetenceXML_1,"prix",0),NULL,0,NULL));
for(i_2=0; i_2<nb_Comp1; i_2++) printf("La competence_1 actuelle a pour nom : %s\n", Competence_1->nomComp);
{ printf("La competence_1 actuelle a pour id : %s\n", Competence_1->id);
} printf("La competence_1 actuelle a pour prix : %s\n", Competence_1->prix_competence);
/* La competence j devient un enfant de la competence i */ for(i_2=0; i_2<nb_Comp2; i_2++)
set_comp_enfant(Arbre_Actuel, Competence_1); {
printf("L'enfant est : %s\n", Arbre_Actuel->enfant->nomComp); node_t *CompetenceXML_2;
Competence *Competence_2;
int nb_Comp3=0, i_3=0;
Competence_2 = init_Competence(Competence_2);
CompetenceXML_2 = roxml_get_chld(CompetenceXML_1, NULL, i_2);
nb_Comp3 = roxml_get_chld_nb(CompetenceXML_2);
printf("La competence numero %d de niveau 2 contient %d competences de niveau 3\n",i_2+1,nb_Comp3);
set_comp_name(Competence_2,roxml_get_content(roxml_get_attr(CompetenceXML_2,"nom",0),NULL,0,NULL));
set_comp_id(Competence_2,roxml_get_content(roxml_get_attr(CompetenceXML_2,"id",0),NULL,0,NULL));
set_comp_prix(Competence_2,roxml_get_content(roxml_get_attr(CompetenceXML_2,"prix",0),NULL,0,NULL));
printf("La competence_2 actuelle a pour nom : %s\n", Competence_2->nomComp);
printf("La competence_2 actuelle a pour id : %s\n", Competence_2->id);
printf("La competence_2 actuelle a pour prix : %s\n", Competence_2->prix_competence);
for(i_3=0; i_3<nb_Comp3; i_3++)
{
node_t *CompetenceXML_3;
Competence *Competence_3;
int nb_Comp4=0, i_4=0;
Competence_3 = init_Competence(Competence_3);
CompetenceXML_3 = roxml_get_chld(CompetenceXML_2, NULL, i_3);
nb_Comp4 = roxml_get_chld_nb(CompetenceXML_3);
printf("La competence numero %d de niveau 3 contient %d competences de niveau 4\n",i_3+1,nb_Comp4);
set_comp_name(Competence_3,roxml_get_content(roxml_get_attr(CompetenceXML_3,"nom",0),NULL,0,NULL));
set_comp_id(Competence_3,roxml_get_content(roxml_get_attr(CompetenceXML_3,"id",0),NULL,0,NULL));
set_comp_prix(Competence_3,roxml_get_content(roxml_get_attr(CompetenceXML_3,"prix",0),NULL,0,NULL));
printf("La competence_3 actuelle a pour nom : %s\n", Competence_3->nomComp);
printf("La competence_3 actuelle a pour id : %s\n", Competence_3->id);
printf("La competence_3 actuelle a pour prix : %s\n", Competence_3->prix_competence);
for(i_4=0; i_4<nb_Comp4; i_4++)
{
node_t *CompetenceXML_4;
Competence *Competence_4;
Competence_4 = init_Competence(Competence_4);
CompetenceXML_4 = roxml_get_chld(CompetenceXML_3, NULL, i_4);
set_comp_name(Competence_4,roxml_get_content(roxml_get_attr(CompetenceXML_4,"nom",0),NULL,0,NULL));
set_comp_id(Competence_4,roxml_get_content(roxml_get_attr(CompetenceXML_4,"id",0),NULL,0,NULL));
set_comp_prix(Competence_4,roxml_get_content(roxml_get_attr(CompetenceXML_4,"prix",0),NULL,0,NULL));
printf("La competence_4 actuelle a pour nom : %s\n", Competence_4->nomComp);
printf("La competence_4 actuelle a pour id : %s\n", Competence_4->id);
printf("La competence_4 actuelle a pour prix : %s\n", Competence_4->prix_competence);
/* La competence 4 devient un enfant de la competence 3 */
set_comp_enfant(Competence_3, Competence_4); //FAIT PLANTER A PARTIR DE 3 NIVEAUX DE REMPLISSAGE
}
/* La competence 3 devient un enfant de la competence 2 */
//set_comp_enfant(Competence_2, Competence_3);
}
/* La competence 2 devient un enfant de la competence 1 */
set_comp_enfant(Competence_1, Competence_2);
}
/* La competence 1 devient un enfant du premier noeud */
//set_comp_enfant(Arbre_Actuel, Competence_1);
} }
} }
return 0; return 0;
} }
int Test_Competences() int Test_Competences()
{ {
printf("Debut Test Competences\n"); printf("Debut Test Competences\n");
Competence *Comp_Test_Parent, *Comp_Test_Enfant, *Comp_Test_Petit_Enfant, *Comp_Test_Frere_Enfant; Competence *Comp_Test_Parent, *Comp_Test_Enfant, *Comp_Test_Petit_Enfant, *Comp_Test_Frere_Enfant;
Comp_Test_Parent=init_Competence(Comp_Test_Parent); Comp_Test_Parent=init_Competence(Comp_Test_Parent);
Comp_Test_Enfant=init_Competence(Comp_Test_Enfant); Comp_Test_Enfant=init_Competence(Comp_Test_Enfant);
Comp_Test_Petit_Enfant=init_Competence(Comp_Test_Petit_Enfant); Comp_Test_Petit_Enfant=init_Competence(Comp_Test_Petit_Enfant);
Comp_Test_Frere_Enfant=init_Competence(Comp_Test_Frere_Enfant); Comp_Test_Frere_Enfant=init_Competence(Comp_Test_Frere_Enfant);
if(estVide(Comp_Test_Parent)) /* Test de estVide() */ if(estVide(Comp_Test_Parent)) /* Test de estVide() */
{ {
printf("Parent n'a pas d'enfants\n"); printf("Parent n'a pas d'enfants\n");
} }
printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut NULL après l'init */ printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut NULL après l'init */
set_comp_prix(Comp_Test_Parent, 4); set_comp_prix(Comp_Test_Parent, 4);
set_comp_name(Comp_Test_Parent, "Pepe"); set_comp_name(Comp_Test_Parent, "Pepe");
set_comp_id(Comp_Test_Parent, "ID_PE"); set_comp_id(Comp_Test_Parent, "ID_PE");
printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut bien le nom */ printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut bien le nom */
set_comp_name(Comp_Test_Enfant, "Papa"); set_comp_name(Comp_Test_Enfant, "Papa");
set_comp_id(Comp_Test_Enfant, "ID_PA"); set_comp_id(Comp_Test_Enfant, "ID_PA");
set_comp_name(Comp_Test_Petit_Enfant, "Bebe"); set_comp_name(Comp_Test_Petit_Enfant, "Bebe");
set_comp_id(Comp_Test_Enfant, "ID_BE"); set_comp_id(Comp_Test_Enfant, "ID_BE");
set_comp_name(Comp_Test_Frere_Enfant, "Tonton"); set_comp_name(Comp_Test_Frere_Enfant, "Tonton");
set_comp_id(Comp_Test_Frere_Enfant, "ID_TON"); set_comp_id(Comp_Test_Frere_Enfant, "ID_TON");
/* Tests */ /* Tests */
printf("Le prix de Parent est %d\n", Comp_Test_Parent->prix_competence); printf("Le prix de Parent est %d\n", Comp_Test_Parent->prix_competence);
printf("Le nom de Parent est %s\n", Comp_Test_Parent->nomComp); printf("Le nom de Parent est %s\n", Comp_Test_Parent->nomComp);
printf("L'ID de Parent est %s\n", Comp_Test_Parent->id); printf("L'ID de Parent est %s\n", Comp_Test_Parent->id);
/* ---- */ /* ---- */
set_comp_enfant(Comp_Test_Parent, Comp_Test_Enfant); /* Association Parent-Enfant */ set_comp_enfant(Comp_Test_Parent, Comp_Test_Enfant); /* Association Parent-Enfant */
set_comp_enfant(Comp_Test_Parent, Comp_Test_Frere_Enfant); /* Insertion d'un deuxième enfant (qui doit devenir le frère du premier) */ set_comp_enfant(Comp_Test_Parent, Comp_Test_Frere_Enfant); /* Insertion d'un deuxième enfant (qui doit devenir le frère du premier) */
printf("\nL'enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->nomComp); printf("\nL'enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->nomComp);
printf("L'autre enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->frere->nomComp); printf("L'autre enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->frere->nomComp);
return 0; return 0;
} }
......
...@@ -38,7 +38,7 @@ void initJeu(){ ...@@ -38,7 +38,7 @@ void initJeu(){
Joueur * j = nouveauJoueur(); Joueur * j = nouveauJoueur();
if(j!=NULL){ if(j!=NULL){
setNomJoueur(j,nomDuJoueur); setNomJoueur(j,nomDuJoueur);
if(addParticipant(partieGlobale,j)){ if(addParticipant(partieGlobale,j)==0){
*etat =LANCEMENT; *etat =LANCEMENT;
} }
else{ else{
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#define CONTROLEUR_H #define CONTROLEUR_H
void initJeu(); void initJeu();
void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat);
void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat); void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat);
......
...@@ -100,7 +100,7 @@ Game_Package Pack_A = Construire_Package(); ...@@ -100,7 +100,7 @@ Game_Package Pack_A = Construire_Package();
Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml"); Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml");
Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml"); Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml");
Skins_GUI* GUI_Pack = Get_Skins_GUI("../resources/GUI.xml"); Skins_GUI* GUI_Pack = Get_Skins_GUI("../resources/GUI.xml");
//Competence* Competences_Pack = Extraire_Arbres("../resources/Competences.xml"); /*Competence* Competences_Pack = */Extraire_Arbres("../resources/Competences.xml");
Pack_A.Classes_Package = Classes_Pack; Pack_A.Classes_Package = Classes_Pack;
...@@ -112,18 +112,18 @@ Pack_A.GUI_Package = GUI_Pack; ...@@ -112,18 +112,18 @@ Pack_A.GUI_Package = GUI_Pack;
/* -------------------------------------*/ /* -------------------------------------*/
printf("\nL'attaque 1 du mage est : %s\n",Pack_A.Classes_Package[0].attaques[2].nom); /* printf("\nL'attaque 1 du mage est : %s\n",Pack_A.Classes_Package[0].attaques[2].nom);
printf("Le nom du terrain 1 est : %s\n",Pack_A.Terrains_Package[0].nomTerrain); printf("Le nom du terrain 1 est : %s\n",Pack_A.Terrains_Package[0].nomTerrain);
printf("L'adresse de la texture GUI 1 est : %s\n",Pack_A.GUI_Package[0].GUI_default); printf("L'adresse de la texture GUI 1 est : %s\n",Pack_A.GUI_Package[0].GUI_default);
printf("La ligne 3 de la map 1 est : %s\n",Pack_A.Cartes_Package[0].lignes[2]); printf("La ligne 3 de la map 1 est : %s\n",Pack_A.Cartes_Package[0].lignes[2]);
*/
/* -------------------------------------*/ /* -------------------------------------*/
/* -------------------------------------*/ /* -------------------------------------*/
//main_SDL(Map_ANCIENNE_VERSION); //main_SDL(Map_ANCIENNE_VERSION);
SDL_bis(); //SDL_bis();
Test_Competences(); //Test_Competences();
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
/*! \def TAILLE_MAX_LIGNE */ /*! \def TAILLE_MAX_LIGNE */
#define TAILLE_MAX_LIGNE 25 #define TAILLE_MAX_LIGNE 25
/*! \def TAILLE_ID */ /*! \def TAILLE_ID */
#define TAILLE_ID 10 #define TAILLE_ID 20
/*! \def TAILLE_NOMS */ /*! \def TAILLE_NOMS */
#define TAILLE_NOMS 25 #define TAILLE_NOMS 25
/*! \def TAILLE_MAX_GROUPE */ /*! \def TAILLE_MAX_GROUPE */
...@@ -225,6 +225,7 @@ typedef struct Carte_A{ ...@@ -225,6 +225,7 @@ typedef struct Carte_A{
} Carte_A; } Carte_A;
/*! \struct Classe structures.h /*! \struct Classe structures.h
* \brief Definition de la structure Game_Package * \brief Definition de la structure Game_Package
* sizeof(Classe) = * sizeof(Classe) =
......
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