From 96c1a66d59f583f1e12ba330af4d4b5fb42d04fc Mon Sep 17 00:00:00 2001 From: Aubin DORIVAL Date: Thu, 12 Dec 2024 12:12:16 +0100 Subject: [PATCH 1/2] rm .out --- .gitignore | 2 +- a.out | Bin 15992 -> 0 bytes 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100755 a.out diff --git a/.gitignore b/.gitignore index 5afec89..08f6683 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ *.o sokoban - +*.out diff --git a/a.out b/a.out deleted file mode 100755 index 746dd021bc96484a72af0dbd91d84cb3ce589fa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15992 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 Date: Thu, 12 Dec 2024 13:02:55 +0100 Subject: [PATCH 2/2] read file --- Makefile | 7 +++++-- display.c | 4 ---- function.c | 6 +++--- main.c | 6 ++++-- read.c | 40 ++++++++++++++++++++++++++++++++++++++++ read.h | 5 +++++ test.txt | 11 +++++++++++ 7 files changed, 68 insertions(+), 11 deletions(-) create mode 100644 read.c create mode 100644 read.h create mode 100644 test.txt diff --git a/Makefile b/Makefile index 2c176bb..1160cae 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Variable CC = gcc CFLAGS = -Wall -Wextra $(shell pkg-config --cflags --libs sdl2) -OBJ = main.o function.o display.o +OBJ = main.o function.o display.o read.o TARGET = sokoban all: $(TARGET) @@ -9,7 +9,7 @@ all: $(TARGET) $(TARGET): $(OBJ) $(CC) $(CFLAGS) $(OBJ) -o $(TARGET) -main.o : main.c function.h +main.o : main.c function.h display.h read.h $(CC) $(CFLAGS) -c main.c function.o : function.c function.h @@ -18,6 +18,9 @@ function.o : function.c function.h display.o: display.c display.h $(CC) $(CFLAGS) -c display.c +read.o: read.c read.h function.h + $(CC) $(CFLAGS) -c read.c + clean : rm -f $(OBJ) $(TARGET) diff --git a/display.c b/display.c index eb404ba..0ef9822 100644 --- a/display.c +++ b/display.c @@ -13,7 +13,3 @@ void screenDisplay( unsigned short int **tab,int size) } } - - - - diff --git a/function.c b/function.c index bdad64f..5df591a 100644 --- a/function.c +++ b/function.c @@ -15,7 +15,7 @@ unsigned short int **creatArea2D(const unsigned int N) } bool fail = false; - int i; + unsigned int i; for (i = 0; i < N && !fail; ++i) { tab2d[i] = calloc(N, sizeof(unsigned short int)); @@ -27,7 +27,7 @@ unsigned short int **creatArea2D(const unsigned int N) if (fail) { - int j; + unsigned int j; for (j = 0; j < i; ++j) { free(tab2d[j]); @@ -92,4 +92,4 @@ int CanIGoRight(unsigned short int **tab,int size,int posX,int posY) } return 0; -} \ No newline at end of file +} diff --git a/main.c b/main.c index bcb3566..c0b8fb9 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,13 @@ #include #include "function.h" #include "display.h" +#include "read.h" int main() { - unsigned short int **tab2d = creatArea2D(5); - screenDisplay(tab2d, 5); + unsigned short int **tab2d = creatArea2D(32); + fileToTab2D("test.txt", tab2d, 32); + screenDisplay(tab2d, 32); printf("main\n"); return 0; } diff --git a/read.c b/read.c new file mode 100644 index 0000000..87f5413 --- /dev/null +++ b/read.c @@ -0,0 +1,40 @@ +#include +#include +#include "function.h" + +void fileToTab2D(const char* name_file, unsigned short int **tab, const unsigned N) +{ + FILE *file = fopen(name_file, "r"); + unsigned int x = 0, y = 0; + while(!feof(file)) + { + char current =fgetc(file); + switch (current) { + case ' ': + tab[x][y] = EMPTY; + break; + case '#': + tab[x][y] = WALL; + break; + case '$': + tab[x][y] = BOX; + break; + case '.': + tab[x][y] = TARGET; + break; + case '@': + tab[x][y] = PLAYER; + break; + case '\n': + y = 0; + ++x; + break; + } + ++y; + if (x >= N || y >= N) + { + perror("Level out of range !"); + exit(-1); + } + } +} diff --git a/read.h b/read.h new file mode 100644 index 0000000..a265059 --- /dev/null +++ b/read.h @@ -0,0 +1,5 @@ +#ifndef READ_H +#define READ_H + +void fileToTab2D(const char* name_file, unsigned short int **tab, const unsigned N); +#endif // !READ_H diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..00f580a --- /dev/null +++ b/test.txt @@ -0,0 +1,11 @@ + ##### + # # + #$ # + ### $## + # $ $ # +### # ## # ###### +# # ## ##### ..# +# $ $ ..# +##### ### #@## ..# + # ######### + #######