From f28700fa5a9678dd7afafb416c833e23634f7285 Mon Sep 17 00:00:00 2001
From: Romain Jegat <romain.jegat@insa-rennes.fr>
Date: Sat, 23 Apr 2016 00:18:52 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20possibilit=C3=A9=20de=20lire?=
 =?UTF-8?q?=20la=20carte=20de=20son=20choix=20dans=20le=20fichier=20Maps.t?=
 =?UTF-8?q?xt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 resources/Maps.txt | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 src/carte.c        | 54 ++++++++++++++++++++++++++++++++++-------
 src/carte.h        |  1 -
 src/main.c         |  8 +++----
 4 files changed, 110 insertions(+), 13 deletions(-)

diff --git a/resources/Maps.txt b/resources/Maps.txt
index 027cf65..79cb99b 100644
--- a/resources/Maps.txt
+++ b/resources/Maps.txt
@@ -1,6 +1,66 @@
 MAP1 10*16
 
+MFMMMFFPPF
+PFFFFFFPPF
+PFPPPFFPPF
+PFPPPFFPPF
+PFPPFFFPPF
+PFMMMFFPPF
+PFMFFFFPPF
+PFMMPFFPPF
+PFPPPFFPPF
+PFPPFFPPFP
+PFFPPFFPPF
+PFFFMFFPPF
+PFPMMFFPPF
+PFMMMFFPPF
+PFFFPFFPPF
+PFPPPPFPPF
+
+
+MAP2 10*16
+
+FFMMMFFPPF
+PFFFFFFPPF
+PFPPPFFPPF
+PFPPPFFPPF
+PFPPFFFPPF
+PFMMMFFPPF
+PFMFFFFPPF
+PFMMPFFPPF
+PFPPPFFPPF
+PFPPFFPPFP
+PFFPPFFPPF
+PFFFMFFPPF
+PFPMMFFPPF
+PFMMMFFPPF
+PFFFPFFPPF
+PFPPPPFPPF
+
+
+MAP3 10*16
+
+FFMMMFFPPF
+PFFFFFFPPF
+PFPPPFFPPF
+PFPPPFFPPF
+PFPPFFFPPF
 PFMMMFFPPF
+PFMFFFFPPF
+PFMMPFFPPF
+PFPPPFFPPF
+PFPPFFPPFP
+PFFPPFFPPF
+PFFFMFFPPF
+PFPMMFFPPF
+PFMMMFFPPF
+PFFFPFFPPF
+PFPPPPFPPF
+
+
+MAP4 10*16
+
+FFMMMFFPPF
 PFFFFFFPPF
 PFPPPFFPPF
 PFPPPFFPPF
diff --git a/src/carte.c b/src/carte.c
index c529481..830bb3b 100644
--- a/src/carte.c
+++ b/src/carte.c
@@ -18,29 +18,65 @@
  */
 char* LireCarte(const char *filename, int num)
 {
+    char char_num_map[2],char_nb_lignes[2]="",char_nb_colonnes[2]="";
+    int num_map = 0, nb_lignes = 0, nb_colonnes = 0, i=0, j=0, k=0;
     FILE* file_map = NULL;
-
-    char char_nb_lignes[2]="",char_nb_colonnes[2]="";
-    int nb_lignes = 0, nb_colonnes = 0, i=0, j=0;
-    char map[10][16];
-
     file_map = fopen(filename, "r");
 
-    fseek(file_map, 5, SEEK_SET);
+    fseek(file_map, 3, SEEK_SET);
+    (fgets(char_num_map,3,file_map));
+    num_map = atoi(char_num_map);
     (fgets(char_nb_lignes,3,file_map));
     nb_lignes = atoi(char_nb_lignes);
     fseek(file_map, 1, SEEK_CUR);
     (fgets(char_nb_colonnes,3,file_map));
     nb_colonnes = atoi(char_nb_colonnes);
+    printf("Nb map = %d, Nb colonne = %d, Nb ligne = %d\n\n",num_map,nb_colonnes,nb_lignes);
+    //num_map++;
+
+    while(num_map < num)
+    {
+
+        for(k=0; k<nb_colonnes+4; k++) /*! Descend jusqu'à la prochaine map */
+        {
+            fseek(file_map,nb_lignes,SEEK_CUR);
+        }
+        fseek(file_map, 3, SEEK_CUR);
+        (fgets(char_num_map,3,file_map));
+        num_map = atoi(char_num_map);
+        (fgets(char_nb_lignes,3,file_map));
+        nb_lignes = atoi(char_nb_lignes);
+        fseek(file_map, 1, SEEK_CUR);
+        (fgets(char_nb_colonnes,3,file_map));
+        nb_colonnes = atoi(char_nb_colonnes);
+        printf("Nb map = %d, Nb colonne = %d, Nb ligne = %d\n\n",num_map,nb_colonnes,nb_lignes);
+
+        //num_map++;
+    }
+    /*for(k=0;k<15;k++)
+    {
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    printf("Le caractere detecte est : %c\n",fgetc(file_map));
+    }
+    */
+
+
 
     fseek(file_map, 4, SEEK_CUR);
 
     char * TableauCarte = NULL;
     TableauCarte = malloc(nb_colonnes * nb_lignes * sizeof(char));
 
-    for(i=0;i<nb_colonnes;i++)
+    for(i=0; i<nb_colonnes; i++)
     {
-        for(j=0;j<=nb_lignes;j++)
+        for(j=0; j<=nb_lignes; j++)
         {
             TableauCarte[nb_lignes*i+j]=fgetc(file_map);
         }
@@ -49,3 +85,5 @@ char* LireCarte(const char *filename, int num)
     fclose(file_map);
     return TableauCarte;
 }
+
+
diff --git a/src/carte.h b/src/carte.h
index 39b3127..bc58c4c 100644
--- a/src/carte.h
+++ b/src/carte.h
@@ -5,7 +5,6 @@
 
 char* LireCarte(const char *filename, int num);
 
-
 #ifndef CARTE_H_INCLUDED
 #define CARTE_H_INCLUDED
 
diff --git a/src/main.c b/src/main.c
index cd2326c..cf3a4a5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -71,12 +71,12 @@ int main()
 init_jeu("../resources/Init_jeu.xml");
 
 /* Pour Henri <3 */
-/*
-printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",0)[50]);
-*/
 
+printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",3)[0]);
 
-main_SDL();
+
+
+//main_SDL();
 
 
 
-- 
GitLab