From 02fee8ccbcdd3ab81e845cfa107a3379a2f4a07d Mon Sep 17 00:00:00 2001 From: Romain Jegat <romain.jegat@insa-rennes.fr> Date: Sat, 30 Apr 2016 16:22:37 +0200 Subject: [PATCH] Version de ExtraireCartesXML avec des maps 16*10 - Reste de la fonction mis en commentaires --- resources/Maps.xml | 72 ++++++++++++++++++++++++++++++---------------- src/carte.c | 26 ++++++++--------- src/main.c | 19 ++++++++---- src/structures.h | 2 +- 4 files changed, 75 insertions(+), 44 deletions(-) diff --git a/resources/Maps.xml b/resources/Maps.xml index 274d546..43b9e6c 100644 --- a/resources/Maps.xml +++ b/resources/Maps.xml @@ -2,36 +2,60 @@ <Maps> <Map id="MAP_1" name="Comté de la sieste" desc="Cette map est so-mmeil" taille_lignes="10"> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> +<Line>MFPPRRPPFM</Line> </Map> <Map id="MAP_2" name="Chasse au trésor" desc="Une map pour 2 joueurs qui rend fou !! " taille_lignes="10"> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> </Map> <Map id="MAP_3" name="Chasse au trésor" desc="Une map pour 2 joueurs qui rend fou !! " taille_lignes="10"> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> -<Line>FFMMMF</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> + <Line>MFPPRRPPFM</Line> </Map> </Maps> diff --git a/src/carte.c b/src/carte.c index 89f02e7..de2807d 100644 --- a/src/carte.c +++ b/src/carte.c @@ -87,7 +87,7 @@ Carte_A* ExtraireCartesXML(const char *filename) Maps = roxml_get_chld(rootXML, NULL, 0); nb_Maps = roxml_get_chld_nb(Maps); - printf("Il y a %d maps\n", nb_Maps); + //printf("Il y a %d maps\n", nb_Maps); Carte_A* Tableau_Cartes = malloc(nb_Maps * sizeof(Carte_A)); @@ -97,7 +97,7 @@ Carte_A* ExtraireCartesXML(const char *filename) for(i=0; i<nb_Maps; i++) { - int j=0, nb_lignes=0, taille_lignes; + int j=0, nb_lignes=0, taille_lignes=0; char *id_text, *name_text, *desc_text, *lignes_text; node_t *Map_Actuelle; Map_Actuelle = roxml_get_chld(Maps,NULL,i); @@ -105,45 +105,43 @@ Carte_A* ExtraireCartesXML(const char *filename) id_text = roxml_get_content(roxml_get_attr(Map_Actuelle, "id", 0), NULL, 0, NULL); name_text = roxml_get_content(roxml_get_attr(Map_Actuelle, "name", 0), NULL, 0, NULL); desc_text = roxml_get_content(roxml_get_attr(Map_Actuelle, "desc", 0), NULL, 0, NULL); - taille_lignes = atoi(roxml_get_content(roxml_get_attr(Map_Actuelle, "taille_lignes", 0), NULL, 0, NULL)); - printf("Les lignes font %d de long\n", taille_lignes); + //taille_lignes = atoi(roxml_get_content(roxml_get_attr(Map_Actuelle, "taille_lignes", 0), NULL, 0, NULL)); + //printf("Les lignes font %d de long\n", taille_lignes); - - nb_lignes = roxml_get_chld_nb(Map_Actuelle); + //nb_lignes = roxml_get_chld_nb(Map_Actuelle); + //printf("La carte contient %d lignes\n", nb_lignes); Carte_A Carte_Actuelle; strcpy(Carte_Actuelle.id, id_text); strcpy(Carte_Actuelle.nom, name_text); strcpy(Carte_Actuelle.desc, desc_text); - +/* printf("L'ID est :%s\n\n", Carte_Actuelle.id); printf("Le nom est :%s\n\n", Carte_Actuelle.nom); printf("La desc est :%s\n\n", Carte_Actuelle.desc); - +*/ /*--------------------------------------------------------------------------------------------------------------*/ /* Aquisition des lignes de la carte */ /*--------------------------------------------------------------------------------------------------------------*/ - for(j=0; j<nb_lignes; j++) + for(j=0; j<16 /*nb_lignes*/ ; j++) { node_t* Ligne_Actuelle; Ligne_Actuelle = roxml_get_chld(Map_Actuelle, NULL, j); - char* sequence_ligne; + char sequence_ligne[9]; roxml_get_content(Ligne_Actuelle, sequence_ligne, 50, NULL); - printf("Sequence_Ligne vaut : %s\n", sequence_ligne); + //printf("Sequence_Ligne vaut : %s\n", sequence_ligne); - // strcpy(Carte_Actuelle.lignes[j], sequence_ligne); + strcpy(Carte_Actuelle.lignes[j], sequence_ligne); //printf("La ligne %d vaut : %s\n",j+1, Carte_Actuelle.lignes[j]); } Tableau_Cartes[i] = Carte_Actuelle; - - } return Tableau_Cartes; diff --git a/src/main.c b/src/main.c index 9ee7df7..759d454 100644 --- a/src/main.c +++ b/src/main.c @@ -95,10 +95,12 @@ Game_Package Construire_Package() Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml"); Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml"); Skins_GUI* GUI_Pack = Get_Skins_GUI("../resources/GUI.xml"); + Carte_A* Map_Pack = ExtraireCartesXML("../resources/Maps.xml"); Pack.Classes_Package = Classes_Pack; Pack.Terrains_Package = Terrains_Pack; Pack.GUI_Package = GUI_Pack; + Pack.Cartes_Package = Map_Pack; return Pack; } @@ -109,10 +111,13 @@ int main() //init_jeu("../resources/Init_jeu.xml"); - char *Map_A = ExtraireCarte(4); - printf("Map en version texte : %s\n", Map_A); + char *Map_ANCIENNE_VERSION = ExtraireCarte(4); + //printf("Map en version texte : %s\n", Map_A); - //ExtraireCartesXML("../resources/Maps.xml"); + + /* -------------------------------------*/ + /* Creation du package : */ + /* -------------------------------------*/ Game_Package Pack_A = Construire_Package(); @@ -120,12 +125,16 @@ int main() /* Comment utiliser le package : */ /* -------------------------------------*/ - printf("L'attaque 1 du mage est : %s\n",Pack_A.Classes_Package[1].attaques[2].nom); + printf("L'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("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]); + + /* -------------------------------------*/ + /* -------------------------------------*/ - main_SDL(Map_A); + main_SDL(Map_ANCIENNE_VERSION); return 0; } diff --git a/src/structures.h b/src/structures.h index 99953ce..6c3fda0 100644 --- a/src/structures.h +++ b/src/structures.h @@ -172,7 +172,7 @@ typedef struct Carte_A{ char id[TAILLE_ID]; char nom[50]; char desc[100]; - char* lignes; + char lignes[17][11]; } Carte_A; -- GitLab