diff --git a/resources/Maps.txt b/resources/Maps.txt index 027cf65dd2d6de1278370837699c7f5af91b294a..79cb99b30ad75a95b4b0010c1a936749b862cea4 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 c529481b50d46893e0c1574f13c369349a8e77d2..830bb3b75a6d12464ebc12799e2b02b1caeebe92 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 39b31278f990ddd559c0914e4db619c2b92886b3..bc58c4cff4271ba2adf70c07cc06708b09a0e922 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 ad14a44899c02df41f0a55b79e672657630ed6e0..3d2e395507dfeb0c2ed106c7c2fa61255df7e248 100644 --- a/src/main.c +++ b/src/main.c @@ -71,11 +71,12 @@ int main() init_jeu("../resources/Init_jeu.xml"); -printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",40)[50]); +/* Pour Henri <3 */ +printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",3)[0]); -main_SDL(); +//main_SDL();