From 2a77326d21c8581c03de7151d53a30de3ac62602 Mon Sep 17 00:00:00 2001 From: Taha Belkhiri <belkhiri.taha53@gmail.com> Date: Tue, 21 Jun 2022 13:29:17 +0200 Subject: [PATCH] modification detection etat stable/cycle --- travail_individuel/Belkhiri/GameOfLife/run | Bin 23888 -> 23888 bytes .../Belkhiri/GameOfLife/src/map.c | 53 ++++-------------- .../Belkhiri/GameOfLife/src/map.h | 1 + .../Belkhiri/GameOfLife/src/render.c | 2 + 4 files changed, 14 insertions(+), 42 deletions(-) diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run index b4b5d1dda336d41fd1db836aed18335e57e069d6..13a17de9a1ad72b1deca8dfa33f07eed9336333e 100755 GIT binary patch delta 4130 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 PlRw6oGnP))j8z8!PW3MA delta 4305 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 diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.c b/travail_individuel/Belkhiri/GameOfLife/src/map.c index a220bc3..dbceb88 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/map.c +++ b/travail_individuel/Belkhiri/GameOfLife/src/map.c @@ -5,6 +5,7 @@ int MAPSIZE = 20; int **map; int ***mapList; +int mapListSize = 0; void allocateMap() { @@ -59,62 +60,30 @@ void writeMap(char *filename) fclose(f); } -int **saveMapState() -{ - int **mapCopy = malloc(MAPSIZE * sizeof(int *)); - for (int i = 0; i < MAPSIZE; i++) - { - mapCopy[i] = malloc(MAPSIZE * sizeof(int)); - } - for (int i = 0; i < MAPSIZE; i++) - { - for (int j = 0; j < MAPSIZE; j++) - { - mapCopy[i][j] = map[i][j]; - } - } - return mapCopy; -} - void addMapToList(int **map) { - int i = 0; - while (mapList[i] != NULL) - { - i++; - } - mapList[i] = map; + mapList[mapListSize] = map; + mapListSize++; } void checkForCycle() { - // count number of maps saved - int i = 0; - while (mapList[i] != NULL) - { - i++; - } - - int j = 0; - for (j = 0; j < i; j++) + for (int i = 0; i < mapListSize; i++) { int cycle = 1; - // compare values of maps - int k = 0; - for (k = 0; k < MAPSIZE; k++) + int j = 0; + while (cycle && j < MAPSIZE) { - for (int l = 0; l < MAPSIZE; l++) + int k = 0; + while (cycle && k < MAPSIZE) { - if (mapList[j][k][l] != map[k][l]) + if (mapList[i][j][k] != map[j][k]) { cycle = 0; } + k++; } - } - if (cycle == 1) - { - printf("Cycle found!\n"); - break; + j++; } } } \ No newline at end of file diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.h b/travail_individuel/Belkhiri/GameOfLife/src/map.h index ec0e592..3886080 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/map.h +++ b/travail_individuel/Belkhiri/GameOfLife/src/map.h @@ -6,6 +6,7 @@ extern int MAPSIZE; extern int ** map; extern int *** mapList; +extern int mapListSize; void printMap(); void initMap(); diff --git a/travail_individuel/Belkhiri/GameOfLife/src/render.c b/travail_individuel/Belkhiri/GameOfLife/src/render.c index b1feb2e..4394390 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/render.c +++ b/travail_individuel/Belkhiri/GameOfLife/src/render.c @@ -146,6 +146,8 @@ void drawStable(){ SDL_Rect titleRect = {ScreenDimension.w/2 - titleWidth/2, ScreenDimension.h/2 - titleHeight, titleWidth, titleHeight}; SDL_RenderCopy(renderer, texture, NULL, &titleRect); + + SDL_RenderPresent(renderer); } void MainLoop(){ -- GitLab