Skip to content
Snippets Groups Projects
Commit eb1af765 authored by Romain Jegat's avatar Romain Jegat
Browse files

Création d'une structure Game_Package, qui sera fournie au controleur, et qui...

Création d'une structure Game_Package, qui sera fournie au controleur, et qui contient tout l'univers du jeu
parent 1c0636b2
No related branches found
No related tags found
No related merge requests found
Pipeline #
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Terrains> <Terrains>
<Terrain id="G_PLAIN" name="Plaine" FR="1" FRS="1" PDR="1" Desc="Plaine de bon sens"> <Terrain id="G_PLAIN" name="Plaine" FR="1" FRS="1" PDR="1" Desc="Plaine de bon sens" f_default="../resources/Skins/plaine.bmp">
</Terrain> </Terrain>
<Terrain id="G_RIVER" name="Riviere" FR="0" FRS="1" PDR="1" Desc="River, arrete de river"> <Terrain id="G_RIVER" name="Riviere" FR="0" FRS="1" PDR="1" Desc="River, arrete de river" f_default="../resources/Skins/eau.bmp">
</Terrain> </Terrain>
<Terrain id="G_FOREST" name="Foret" FR="1" FRS="1" PDR="2" Desc="Le frère de Fopart"> <Terrain id="G_FOREST" name="Foret" FR="1" FRS="1" PDR="2" Desc="Le frère de Fopart" f_default="../resources/Skins/foret.bmp">
</Terrain> </Terrain>
<Terrain id="G_MOUNT" name="Montagne" FR="0" FRS="0" PDR="0" Desc="Montagne est plus haut que tontagne"> <Terrain id="G_MOUNT" name="Montagne" FR="0" FRS="0" PDR="0" Desc="Montagne est plus haut que tontagne" f_default="../resources/Skins/montagne.bmp">
</Terrain> </Terrain>
</Terrains> </Terrains>
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* \brief Fichier contenant le code des fonctions d'aquisition des classes. * \brief Fichier contenant le code des fonctions d'aquisition des classes.
*/ */
int /*Classe**/ Remplir_Classes(FILE* Classes_log, char *filename) /* Remplit le tableau de classes à partir du fichier XML */ Classe* Remplir_Classes(FILE* Classes_log, char *filename) /* Remplit le tableau de classes partir du fichier XML */
{ {
fprintf(Classes_log,"I) Chargement du fichier XML - Definition des noeuds\n"); fprintf(Classes_log,"I) Chargement du fichier XML - Definition des noeuds\n");
...@@ -199,13 +199,13 @@ int /*Classe**/ Remplir_Classes(FILE* Classes_log, char *filename) /* Remplit le ...@@ -199,13 +199,13 @@ int /*Classe**/ Remplir_Classes(FILE* Classes_log, char *filename) /* Remplit le
/* Ajout de la classe remplie au tableau */ /* Ajout de la classe remplie au tableau */
//ListeClasse[i] = Classe_en_cours; ListeClasse[i] = Classe_en_cours;
} }
roxml_free_node(rootXML); roxml_free_node(rootXML);
roxml_free_node(Classes); roxml_free_node(Classes);
return /*ListeClasse*/ 0; return ListeClasse;
} }
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#include "classe.h" #include "classe.h"
#include "structures.h" #include "structures.h"
/*Classe**/int Remplir_Classes(FILE* Classes_log, char *filename); Classe* Remplir_Classes(FILE* Classes_log, char *filename);
#endif // CLASSESXML_H_INCLUDED #endif // CLASSESXML_H_INCLUDED
...@@ -46,26 +46,18 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le ...@@ -46,26 +46,18 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le
Terrain Terrain_en_cours; Terrain Terrain_en_cours;
node_t *TerrainXML; node_t *TerrainXML;
char *id_text, *name_text, *FR_text, *FRS_text, *PDR_text, *DESC_text; char *id_text, *name_text, *FR_text, *FRS_text, *PDR_text, *DESC_text, *texture_text;
int FR_int=0, FRS_int=0, PDR_int=0; int FR_int=0, FRS_int=0, PDR_int=0;
TerrainXML = roxml_get_chld(TerrainsXML, NULL, i); TerrainXML = roxml_get_chld(TerrainsXML, NULL, i);
node_t *ID, *NAME, *FR, *FRS, *PDR, *DESC; id_text = roxml_get_content(roxml_get_attr(TerrainXML, "id", 0), NULL, 0, NULL);
name_text = roxml_get_content(roxml_get_attr(TerrainXML, "name", 0), NULL, 0, NULL);
ID = roxml_get_attr(TerrainXML, "id", 0); FR_text = roxml_get_content(roxml_get_attr(TerrainXML, "FR", 0), NULL, 0, NULL);
NAME = roxml_get_attr(TerrainXML, "name", 0); FRS_text = roxml_get_content(roxml_get_attr(TerrainXML, "FRS", 0), NULL, 0, NULL);
FR = roxml_get_attr(TerrainXML, "FR", 0); PDR_text = roxml_get_content(roxml_get_attr(TerrainXML, "PDR", 0), NULL, 0, NULL);
FRS = roxml_get_attr(TerrainXML, "FRS", 0); DESC_text = roxml_get_content(roxml_get_attr(TerrainXML, "Desc", 0), NULL, 0, NULL);
PDR = roxml_get_attr(TerrainXML, "PDR", 0); texture_text = roxml_get_content(roxml_get_attr(TerrainXML, "f_default", 0), NULL, 0, NULL);
DESC = roxml_get_attr(TerrainXML, "Desc", 0);
id_text = roxml_get_content(ID, NULL, 0, NULL);
name_text = roxml_get_content(NAME, NULL, 0, NULL);
FR_text = roxml_get_content(FR, NULL, 0, NULL);
FRS_text = roxml_get_content(FRS, NULL, 0, NULL);
PDR_text = roxml_get_content(PDR, NULL, 0, NULL);
DESC_text = roxml_get_content(DESC, NULL, 0, NULL);
fprintf(Terrains_XML_log,"Id : %s\n", id_text); fprintf(Terrains_XML_log,"Id : %s\n", id_text);
fprintf(Terrains_XML_log,"Nom : %s\n", name_text); fprintf(Terrains_XML_log,"Nom : %s\n", name_text);
...@@ -73,6 +65,7 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le ...@@ -73,6 +65,7 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le
fprintf(Terrains_XML_log,"FRS : %s\n", FRS_text); fprintf(Terrains_XML_log,"FRS : %s\n", FRS_text);
fprintf(Terrains_XML_log,"PDR : %s\n", PDR_text); fprintf(Terrains_XML_log,"PDR : %s\n", PDR_text);
fprintf(Terrains_XML_log,"DESC : %s\n", DESC_text); fprintf(Terrains_XML_log,"DESC : %s\n", DESC_text);
fprintf(Terrains_XML_log,"Texture : %s\n", texture_text);
/* Convertion des caractristiques lues vers les types de la struct Case */ /* Convertion des caractristiques lues vers les types de la struct Case */
FR_int = atoi(FR_text); FR_int = atoi(FR_text);
...@@ -106,17 +99,11 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le ...@@ -106,17 +99,11 @@ Terrain* Remplir_Terrains(FILE* Terrains_XML_log, char *filename) /* Remplit le
Terrain_en_cours.PD_requis=PDR_int; Terrain_en_cours.PD_requis=PDR_int;
strcpy(Terrain_en_cours.nomTerrain, name_text); strcpy(Terrain_en_cours.nomTerrain, name_text);
strcpy(Terrain_en_cours.skin_default, texture_text);
/* Ajout du terrain rempli au tableau */ /* Ajout du terrain rempli au tableau */
fprintf(Terrains_XML_log,"Insertion du terrain %d dans le tableau\n", i+1); fprintf(Terrains_XML_log,"Insertion du terrain %d dans le tableau\n", i+1);
ListeTerrains[i] = Terrain_en_cours; ListeTerrains[i] = Terrain_en_cours;
/* Libration des noeuds */
roxml_free_node(ID);
roxml_free_node(NAME);
roxml_free_node(FR);
roxml_free_node(FRS);
roxml_free_node(PDR);
} }
roxml_free_node(rootXML); roxml_free_node(rootXML);
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "SDL.h" #include "SDL.h"
#include "roxml.h" #include "roxml.h"
#include "carte.h" #include "carte.h"
#include "skinsXML.h"
int init_jeu(char *filename){ /* cre les diffrents types de terrains, de classes et d'attaques en lisant dans un fichier */ int init_jeu(char *filename){ /* cre les diffrents types de terrains, de classes et d'attaques en lisant dans un fichier */
FILE *fichier_init; FILE *fichier_init;
...@@ -81,12 +80,27 @@ int main() ...@@ -81,12 +80,27 @@ int main()
char *Map_A = ExtraireCarte(4); char *Map_A = ExtraireCarte(4);
printf("Map en version texte : %s\n", Map_A); printf("Map en version texte : %s\n", Map_A);
Terrain *Terrains_A = Librairie_Terrains("../resources/Terrains.xml");
printf("info Terrain: %d\n", Terrains_A[1].franchissable);
Librairie_Classes("../resources/Classes.xml"); /* -------------------------------------*/
/* Creation d'un package de jeu */
/* -------------------------------------*/
Game_Package Pack_A;
Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml");
Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml");
Pack_A.Classes_Package = Classes_Pack;
Pack_A.Terrains_Package = Terrains_Pack;
/* -------------------------------------*/
/* -------------------------------------*/
printf("On a : %s\n",Pack_A.Terrains_Package[0].skin_default);
main_SDL(Map_A); main_SDL(Map_A);
......
...@@ -50,6 +50,13 @@ typedef enum {faux, vrai} boolean; ...@@ -50,6 +50,13 @@ typedef enum {faux, vrai} boolean;
char charac_damaged[50]; char charac_damaged[50];
} Skins_Charac; } Skins_Charac;
typedef struct Skins_GUI{
char charac_default[50];
char charac_selected[50];
char charac_healed[50];
char charac_damaged[50];
} Skins_GUI;
/*! \struct Type_terrain structures.h /*! \struct Type_terrain structures.h
* \brief Definition de la structure Type_terrain * \brief Definition de la structure Type_terrain
...@@ -60,6 +67,7 @@ typedef struct Terrain{ ...@@ -60,6 +67,7 @@ typedef struct Terrain{
boolean franchissable;/*!< Le terrain est franchissable ou non par un personnage. */ boolean franchissable;/*!< Le terrain est franchissable ou non par un personnage. */
boolean franchissable_sorts;/*!< Le terrain est franchissable ou non par un sort. */ boolean franchissable_sorts;/*!< Le terrain est franchissable ou non par un sort. */
unsigned short int PD_requis;/*!< Nombre de PD requis pour traverser le terrain. */ unsigned short int PD_requis;/*!< Nombre de PD requis pour traverser le terrain. */
char skin_default[50];
}Terrain; }Terrain;
/*! \struct Case structures.h /*! \struct Case structures.h
...@@ -160,6 +168,14 @@ typedef struct Effet_Competence{ ...@@ -160,6 +168,14 @@ typedef struct Effet_Competence{
} Effet_Competence; } Effet_Competence;
/*! \struct Classe structures.h
* \brief Definition de la structure Game_Package
* sizeof(Classe) =
*/
typedef struct Game_Package{
Classe* Classes_Package;
Terrain* Terrains_Package;
}Game_Package;
......
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