/* * fileHandler.c * * Created on: 20 juin 2018 * Author: isen * * Contient la gestion des fichier et notament la récupération d'un niveau */ #include #include #include "SDL2/SDL.h" #include "SDL2/SDL_image.h" #include "fileHandler.h" //#include "main.c" #define BLOC_SIZE 32 // Taille d'un bloc (carré) en pixels #define NB_BLOCS_LARGEUR 20 #define NB_BLOCS_HAUTEUR 20 #define LARGEUR_FENETRE BLOC_SIZE * NB_BLOCS_LARGEUR #define HAUTEUR_FENETRE BLOC_SIZE * NB_BLOCS_HAUTEUR /* PLAYER * LoadLevel(ARENA_H_TILE *Head) { printf("Fonction Chargement d'un niveau\n"); if(Head == NULL) { printf("La liste est vide\n"); } else { FILE* fichier = NULL; char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0}; int i = 0, j = 0; //Ouverture du fichier fichier = fopen("level1.lvl", "r"); if (fichier == NULL) return 0; //Lecture du fichier fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier); for (i = 0 ; i < NB_BLOCS_LARGEUR ; i++) { for (j = 0 ; j < NB_BLOCS_HAUTEUR ; j++) { switch (ligneFichier[(i * NB_BLOCS_LARGEUR) + j]) { case '0': //Herbe ARENA_H_TILE->Type = 0; break; case '1': //Pierre ARENA_H_TILE->Type = 1; break; case '2': //Arbre ARENA_H_TILE->Type = 2; break; case '3': //Rivière ARENA_H_TILE->Type = 3; break; } Head = Head->suiv; } } } } */ //Fonction a réadapter avec la liste chainée Arene int chargerNiveau(int niveau[][NB_BLOCS_HAUTEUR]) { FILE* fichier = NULL; char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0}; int i = 0, j = 0; printf("Chargement du fichier\n"); fichier = fopen("level1.lvl", "r"); if (fichier == NULL) return 0; fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier); for (i = 0 ; i < NB_BLOCS_LARGEUR ; i++) { for (j = 0 ; j < NB_BLOCS_HAUTEUR ; j++) { //printf("j= %i \n",j); switch (ligneFichier[(i * NB_BLOCS_LARGEUR) + j]) { case '0': niveau[j][i] = 0; //printf("herbe\n"); break; case '1': niveau[j][i] = 1; // printf("caillou\n"); break; case '2': niveau[j][i] = 2; //printf("arbre\n"); break; } } //printf("Ligne\n"); } fclose(fichier); return 1; }