diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run index b4b5d1dda336d41fd1db836aed18335e57e069d6..13a17de9a1ad72b1deca8dfa33f07eed9336333e 100755 Binary files a/travail_individuel/Belkhiri/GameOfLife/run and b/travail_individuel/Belkhiri/GameOfLife/run differ diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.c b/travail_individuel/Belkhiri/GameOfLife/src/map.c index a220bc3ff0c352cfc08e2d029ce437527ba8ad60..dbceb886b165f160e011084cedf2b790154080ae 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 ec0e592949fe5acb5bc4c6ea87ea34861e1dd430..38860804fcbb39456c8cc696e7c490bbd6be7846 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 b1feb2ee9ca17f9504b1a4525aee293f3eef9602..43943903857a67be03aca0831646ff1a98adb451 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(){