Skip to content
Snippets Groups Projects
Commit f5270472 authored by AIGLE STIVEN's avatar AIGLE STIVEN
Browse files

Include file reading for sokoban TP

parent d9f0173e
Branches
Tags
No related merge requests found
# Sokoban
Ce dépôt contient le code du sokoban qui sera demandé en tp pour les étudiants de L2S3 à l'ufr
Vous trouverez ici les fichiers de base pour le TP noté concernant le jeu du Sokoban
Les consignes et l'énoncé se trouve à cette address [TP Sokoban](https://techdevprintemps2022.pages.unistra.fr/TP_TechDevEnonce/)
grid.c 0 → 100644
#include "grid.h"
#include <stdlib.h>
#include <stdio.h>
void init_level(const char* file_path){
// ouverture du fichier en mode lecture
FILE* file = fopen(file_path, "r");
if(!file){
fprintf(stderr, "Error %s not found", file_path);
exit(-1);
}
char line[100] = {0};
int number_column = 0; // nombre de colonne
int number_row = 0; /// nombre de ligne
int number_goals = 0;
// on lit la première ligne du fichier
fgets(line, 100, file);
sscanf(line, "%d %d %d", &number_column, &number_row, &number_goals);
int current_row = 0;
int current_goal = 0;
// On lit le fichier ligne par ligne jusqu'à la fin du fichier
while(fgets(line, 100, file) != NULL){
char* buffer = line;
int current_column = 0;
while(*buffer && *buffer != '\n'){
current_column += 1;
}
current_row += 1;
}
// fermeture du fichier
fclose(file);
}
grid.h 0 → 100644
#ifndef GRID_HEADER
#define GRID_HEADER
enum CaseType{
WALL = '#',
BOX = '$',
PLAYER = '@',
GOAL = '.',
NONE = ' '
};
/**
* @struct Grid grid.h
* @brief Cette structure contient les informations
* concernant la grille du jeu et son contenu
*/
struct Grid{
enum CaseType** game_grid; ///< Tableau contenant les entités présents dans le jeu
int column_number; ///< Nombre de colonne de game_grid
int row_number; ///< Nomber de ligne de game_grid
};
void init_level(const char* file_path);
#endif
26 11 2
##########################
# #
# $ ########## #
# # #
# # #
# . # @ $ #
# # #
# # #
# $ . #
# #
##########################
main.c 0 → 100644
#include <stdio.h>
#include "grid.h"
#include <stdbool.h>
int main(void){
bool run = true;
while(run){
char entry = fgetc(stdin);
switch(entry){
case 'q' :{
run = false;
break;
}
}
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment