From acaf59b0147d6305c8b99fdc33c213a54cf5f450 Mon Sep 17 00:00:00 2001
From: Romain Jegat <romain.jegat@insa-rennes.fr>
Date: Sun, 3 Apr 2016 14:54:51 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20lecture=20de=20l'ID,=20modifi?=
 =?UTF-8?q?cation=20de=20structure=20Classe,=20r=C3=A9tablissement=20de=20?=
 =?UTF-8?q?main.c?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/ClassesXML.c |  8 +++++---
 src/main.c       | 34 ++++++++++++++++++++++++++++++++++
 src/structures.h |  6 +++---
 3 files changed, 42 insertions(+), 6 deletions(-)
 create mode 100644 src/main.c

diff --git a/src/ClassesXML.c b/src/ClassesXML.c
index b25513f..b30eb32 100644
--- a/src/ClassesXML.c
+++ b/src/ClassesXML.c
@@ -1,9 +1,11 @@
 #include <stdio.h>
 #include <stdlib.h>
-#include <roxml.h>
+
 #include "ClassesXML.h"
 
 
+
+
 Classe* Remplir_Classes(FILE* Classes_log, const char *filename) /* Remplit le tableau de classes à partir du fichier XML */
 {
 
@@ -30,8 +32,7 @@ Classe* Remplir_Classes(FILE* Classes_log, const char *filename) /* Remplit le t
         exit(EXIT_FAILURE);
     }
     fprintf(Classes_log,"1) Memoire allouee avec succes \n");
-    fprintf(Classes_log,"La memoire allouee fait %d octets\n", ListeClasse);
-    fprintf(Classes_log,"Elle devrait faire %d octets\n",nb_classes * sizeof(Classe));
+    fprintf(Classes_log,"La memoire allouee fait %d octets\n",nb_classes * sizeof(Classe));
 
 /*--------------------------------------------------------------------------------------------------*/
 
@@ -81,6 +82,7 @@ Classe* Remplir_Classes(FILE* Classes_log, const char *filename) /* Remplit le t
     Classe_en_cours.PV_max=PV_int;
     Classe_en_cours.mana_max=PMM_int;
     Classe_en_cours.points_deplacement_max=PD_int;
+    strcpy(Classe_en_cours.nom, id_text);
 
     fprintf(Classes_log,"Insertion de la classe %d dans le tableau\n", i+1);
 
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..41330a2
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "structures.h"
+#include "classe.h"
+#include "case.h"
+
+int init_jeu(){ // crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier
+   FILE *fichier;
+   fichier=fopen("../resources/fichier_init.txt","r");
+    if (fichier==NULL){
+        fprintf(stderr,"erreur dans l'ouverture du fichier");
+        return 1;
+    }
+}
+
+
+int main()
+{
+/* --------------------------- Test de lecture XML ------------------------------------------------- */
+/*
+    int i = 0;
+    printf("Test compilation");
+    for(i=0;i<4;i++){
+        printf("\nNom %d vaut: %s",i,Remplir_Classes_log("Classes.xml")[i].nom);
+        printf("\nPv %d vaut : %d",i,Remplir_Classes_log("Classes.xml")[i].PV_max);
+        printf("\nPM %d vaut: %d",i,Remplir_Classes_log("Classes.xml")[i].mana_max);
+        printf("\nPD %d vaut: %d\n",i,Remplir_Classes_log("Classes.xml")[i].points_deplacement_max);
+}
+
+*/
+
+
+return 0;
+}
diff --git a/src/structures.h b/src/structures.h
index 21a208c..782d390 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -35,7 +35,7 @@ typedef enum {faux, vrai} boolean;
 /*! \struct Type_terrain structures.h
  * \brief Definition de la structure Type_terrain
  */
-typedef struct {
+typedef struct Type_Terrain{
     char nomTerrain[TAILLE_NOMS];/*!< Nom du terrain. */
     boolean franchissable;/*!< Le terrain est franchissable ou non par un personnage. */
     boolean franchissable_sorts;/*!< Le terrain est franchissable ou non par un sort. */
@@ -62,7 +62,7 @@ typedef Case Carte[TAILLE_MAX_CARTE];
 /*! \struct Effet structures.h
  * \brief Definition de la structure Personnage.
  */
-typedef struct {
+typedef struct Effet{
     unsigned int nb_tours_restants;/*!< Le nombre de tours restants avant que l'effet ne s'estompe*/
     unsigned int valeur_degats_duree; /*!< Le nombre de degat de duree subit par tour*/
     unsigned int valeur_soin_duree; /*!< Le nombre PV regeneres par tour*/
@@ -84,7 +84,7 @@ typedef struct Attaque{
  * \brief Definition de la structure Classe.
  */
 typedef struct Classe{
-    char nom[TAILLE_NOMS]; /*!< Nom de la classe de taille TAILLE_NOMS*/
+    char nom[1]; /*!< Nom de la classe de taille TAILLE_NOMS*/
     Attaque* attaques; /*!< Les attaques disponibles pour la classe*/
     unsigned short int points_deplacement_max; /*!< Les PD maximums accordés a la classe*/
     unsigned short int PV_max; /*!< Les PV maximums accordés a la classe*/
-- 
GitLab