diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run index 13a17de9a1ad72b1deca8dfa33f07eed9336333e..af69540990706f8de4044047d08508fde45a9b9b 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 dbceb886b165f160e011084cedf2b790154080ae..e49cf5f029b491fa508497c27ad5d084ca795168 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/map.c +++ b/travail_individuel/Belkhiri/GameOfLife/src/map.c @@ -64,26 +64,4 @@ void addMapToList(int **map) { mapList[mapListSize] = map; mapListSize++; -} - -void checkForCycle() -{ - for (int i = 0; i < mapListSize; i++) - { - int cycle = 1; - int j = 0; - while (cycle && j < MAPSIZE) - { - int k = 0; - while (cycle && k < MAPSIZE) - { - if (mapList[i][j][k] != map[j][k]) - { - cycle = 0; - } - k++; - } - 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 38860804fcbb39456c8cc696e7c490bbd6be7846..cb95414889e3110ee70e5807314a2dcd9436e8e4 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/map.h +++ b/travail_individuel/Belkhiri/GameOfLife/src/map.h @@ -11,7 +11,6 @@ extern int mapListSize; void printMap(); void initMap(); void writeMap(char* filename); -void checkForCycle(); void addMapToList(int ** map); int ** saveMapState(); diff --git a/travail_individuel/Belkhiri/GameOfLife/src/render.c b/travail_individuel/Belkhiri/GameOfLife/src/render.c index 43943903857a67be03aca0831646ff1a98adb451..5d0776c0963ac4f2d9c1790dbfbb2704288df73b 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/render.c +++ b/travail_individuel/Belkhiri/GameOfLife/src/render.c @@ -126,17 +126,8 @@ void drawColumns(){ SDL_RenderCopy(renderer, columnTexture, NULL, &rightRect); } -void drawGame(){ - SDL_RenderClear(renderer); - drawBackground(); - drawBackground2(); - drawMap(); - drawColumns(); - SDL_RenderPresent(renderer); -} - void drawStable(){ - char str[20] = "Stable state reached"; + char str[21] = "Stable state reached"; SDL_Color textColor = {0, 0, 0}; SDL_Surface * surface = TTF_RenderText_Solid(RobotoFont, str, textColor); SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, surface); @@ -150,6 +141,18 @@ void drawStable(){ SDL_RenderPresent(renderer); } +void drawGame(){ + SDL_RenderClear(renderer); + drawBackground(); + drawBackground2(); + drawMap(); + drawColumns(); + if (stable){ + drawStable(); + } + SDL_RenderPresent(renderer); +} + void MainLoop(){ CreateWindow(); diff --git a/travail_individuel/Belkhiri/GameOfLife/src/utility.c b/travail_individuel/Belkhiri/GameOfLife/src/utility.c index 6a1e6ddfdfb31104c1049212196640d9c504b219..ebb1630d6d0bdf29cf7514338cf137d2d2e71a22 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/utility.c +++ b/travail_individuel/Belkhiri/GameOfLife/src/utility.c @@ -2,6 +2,7 @@ int surviveRule[NB_RULES] = {0, 0, 1, 1, 0, 0, 0, 0, 0}; int bornRule[NB_RULES] = {0, 0, 0, 1, 0, 0, 0, 0, 0}; +int stable; int survivingNeighbors(int x, int y){ int count = 0; @@ -17,7 +18,7 @@ int survivingNeighbors(int x, int y){ void updateMap(){ int newMap[MAPSIZE][MAPSIZE]; - int stable = 1; + stable = 1; for (int i=0; i<MAPSIZE; i++){ for (int j=0; j<MAPSIZE; j++){ int count = survivingNeighbors(j, i); @@ -38,16 +39,10 @@ void updateMap(){ } } - if (stable){ - drawStable(); - } - for (int i=0; i<MAPSIZE; i++){ for (int j=0; j<MAPSIZE; j++){ map[i][j] = newMap[i][j]; } } - - addMapToList(map); } diff --git a/travail_individuel/Belkhiri/GameOfLife/src/utility.h b/travail_individuel/Belkhiri/GameOfLife/src/utility.h index 5d34b4b4e0f3f0122eec2cb91099b02b0de8dab0..f781d11ca1e8175e6b4f8740c227e5b70a78fb92 100644 --- a/travail_individuel/Belkhiri/GameOfLife/src/utility.h +++ b/travail_individuel/Belkhiri/GameOfLife/src/utility.h @@ -7,6 +7,7 @@ #define NB_RULES 9 +extern int stable; void updateMap();