From 24cddfa0f478ad4e68f9343b36ca9c2abc0038a9 Mon Sep 17 00:00:00 2001 From: maberet <maberet@turing.local.isima.fr> Date: Wed, 22 Jun 2022 09:11:10 +0200 Subject: [PATCH] =?UTF-8?q?Modification=20jeu=20de=20la=20vie=20Marc=20:?= =?UTF-8?q?=20r=C3=A9solution=20seg=20fault?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- travail_individuel/Beret/jeu_de_la_vie/run | Bin 21888 -> 0 bytes .../Beret/jeu_de_la_vie/src/main.c | 149 ++++++++++-------- .../Beret/jeu_de_la_vie/src/map.c | 37 +++-- .../Beret/jeu_de_la_vie/src/map.h | 1 + .../Beret/jeu_de_la_vie/src/render.c | 22 ++- .../Beret/jeu_de_la_vie/src/render.h | 2 +- 6 files changed, 123 insertions(+), 88 deletions(-) delete mode 100644 travail_individuel/Beret/jeu_de_la_vie/run diff --git a/travail_individuel/Beret/jeu_de_la_vie/run b/travail_individuel/Beret/jeu_de_la_vie/run deleted file mode 100644 index 8e08c3bddbdbd66785bf316eb066b0907f8767dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21888 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 diff --git a/travail_individuel/Beret/jeu_de_la_vie/src/main.c b/travail_individuel/Beret/jeu_de_la_vie/src/main.c index 97b3199..c562599 100644 --- a/travail_individuel/Beret/jeu_de_la_vie/src/main.c +++ b/travail_individuel/Beret/jeu_de_la_vie/src/main.c @@ -4,6 +4,8 @@ #include "map.h" #include "render.h" + + int main (int argc, char **argv) { if (argc=! 2){ @@ -18,91 +20,100 @@ int main (int argc, char **argv) { program_on= SDL_TRUE; int dimension_grille= atoi(argv[1]); + int dimension_tableau=600-600%dimension_grille; int regles_naissances [9]={0,0,0,1,0,0,0,0,0}; int regles_survie [9]={0,0,1,1,0,0,0,0,0}; - int **grille; + int **grille=NULL; int i; + int taille_max=20; + - init_sdl(window_1,renderer,dimension_grille); + + init_sdl(window_1,renderer,dimension_tableau); - grille = malloc(dimension_grille*sizeof(int)); - if (grille==NULL){ - fin_sdl(renderer,window_1); - printf("erreur alloc\n"); - exit(0); - } - else{ - for (i=0;i<dimension_grille; i++){ - grille[i]=malloc(dimension_grille*sizeof(int)); - if (grille[i]==NULL){ - fin_sdl(renderer,window_1); - liberer_grille(grille,i-1); - printf("erreur alloc\n"); - exit(0); + grille = malloc(dimension_grille*sizeof(int)); + if (grille==NULL){ + fin_sdl(renderer,window_1); + printf("erreur alloc\n"); + exit(0); + } + else{ + for (i=0;i<dimension_grille; i++){ + grille[i]=malloc(dimension_grille*sizeof(int)); + if (grille[i]==NULL){ + fin_sdl(renderer,window_1); + liberer_grille(grille,i-1); + printf("erreur alloc\n"); + exit(0); + } } } - } - int ** nouvelle_grille; + int ** nouvelle_grille=NULL; - nouvelle_grille = malloc(dimension_grille*sizeof(int)); - if (nouvelle_grille==NULL){ - fin_sdl(renderer,window_1); - printf("erreur alloc\n"); - exit(0); - } - else{ - for (i=0;i<dimension_grille; i++){ - nouvelle_grille[i]=malloc(dimension_grille*sizeof(int)); - if (nouvelle_grille[i]==NULL){ - fin_sdl(renderer,window_1); - liberer_grille(nouvelle_grille,i-1); - printf("erreur alloc\n"); - exit(1); + nouvelle_grille = malloc(dimension_grille*sizeof(int)); + if (nouvelle_grille==NULL){ + fin_sdl(renderer,window_1); + printf("erreur alloc\n"); + exit(0); + } + else{ + for (i=0;i<dimension_grille; i++){ + nouvelle_grille[i]=malloc(dimension_grille*sizeof(int)); + if (nouvelle_grille[i]==NULL){ + fin_sdl(renderer,window_1); + liberer_grille(nouvelle_grille,i-1); + printf("erreur alloc\n"); + exit(0); + } } } - } + init_grille(grille,dimension_grille); + printf("dim%d\n",grille[20][20]); - SDL_Event event; + SDL_Event event; + + dessiner_grille(renderer,grille, dimension_grille,dimension_tableau); + SDL_RenderPresent(renderer); - while (program_on) { /// boucle d'event - if(SDL_PollEvent(&event)) { - - switch (event.type) { - case SDL_QUIT: - program_on=SDL_FALSE; - break; - case SDL_MOUSEBUTTONDOWN: - printf("Appui :%d %d\n", event.button.x, event.button.y); - changer_case(grille, event.button.x, event.button.y,dimension_grille); - break; - case SDL_KEYDOWN: - switch(event.key.keysym.sym){ - case SDLK_RIGHT: - printf("goo calcul!\n"); - iteration_suivante(grille,nouvelle_grille,regles_naissances,regles_survie,dimension_grille); - break; - default: - printf("une touche est tapee\n"); - break; - } - break; - case SDL_WINDOWEVENT_CLOSE: - printf("appui sur la croix\n"); + while (program_on) { // boucle d'event + while(SDL_PollEvent(&event)) { + + switch (event.type) { + case SDL_QUIT: + program_on=SDL_FALSE; break; - - } - } - dessiner_grille(renderer,grille, dimension_grille); - - SDL_RenderPresent(renderer); - SDL_Delay(20); - } + case SDL_MOUSEBUTTONDOWN: + printf("Appui :%d %d\n", event.button.x, event.button.y); + changer_case(grille, event.button.x, event.button.y,dimension_grille); + break; + case SDL_KEYDOWN: + switch(event.key.keysym.sym){ + case SDLK_RIGHT: + printf("goo calcul!\n"); + iteration_suivante(grille,nouvelle_grille,regles_naissances,regles_survie,dimension_grille); + break; + default: + printf("une touche est tapee\n"); + break; + } + break; + case SDL_WINDOWEVENT_CLOSE: + printf("appui sur la croix\n"); + break; + + } + dessiner_grille(renderer,grille, dimension_grille,dimension_tableau); - liberer_grille(grille, dimension_grille); - liberer_grille(nouvelle_grille,dimension_grille); + SDL_RenderPresent(renderer); + } + SDL_Delay(100); + } + + liberer_grille(grille, dimension_grille); + liberer_grille(nouvelle_grille,dimension_grille); - fin_sdl(renderer,window_1); + fin_sdl(renderer,window_1); return 0; } \ No newline at end of file diff --git a/travail_individuel/Beret/jeu_de_la_vie/src/map.c b/travail_individuel/Beret/jeu_de_la_vie/src/map.c index 336c4df..5c838c1 100644 --- a/travail_individuel/Beret/jeu_de_la_vie/src/map.c +++ b/travail_individuel/Beret/jeu_de_la_vie/src/map.c @@ -1,16 +1,22 @@ #include "map.h" +int quelleTaillePourLesCases(int divise, int diviseur){ + int r; + r = divise/diviseur; + return r; +} + int nombrevoisin(int **grille,int i , int j,int w){ int cpt=0; - if (grille[(i-1)%w][(j-1)%w]==1){cpt++;} - if (grille[(i)%w][(j-1)%w]==1){cpt++;} - if (grille[(i+1)%w][(j-1)%w]==1){cpt++;} + if (grille[(w+i-1)%w][(w+j-1)%w]==1){cpt++;} + if (grille[(i)%w][(w+j-1)%w]==1){cpt++;} + if (grille[(i+1)%w][(w+j-1)%w]==1){cpt++;} if (grille[(i+1)%w][(j)%w]==1){cpt++;} - if (grille[(i-1)%w][(j)%w]==1){cpt++;} - if (grille[(i-1)%w][(j+1)%w]==1){cpt++;} + if (grille[(w+i-1)%w][(j)%w]==1){cpt++;} + if (grille[(w+i-1)%w][(j+1)%w]==1){cpt++;} if (grille[(i)%w][(j+1)%w]==1){cpt++;} - if (grille[(i+1)%w][(j+1)%w]==1){cpt++;} + if (grille[(w+i+1)%w][(j+1)%w]==1){cpt++;} return (cpt); } @@ -25,6 +31,17 @@ void liberer_grille(int ** grille,int taille){ } +void init_grille( int **grille, int taille){ + int i; + int j; + printf("taille%d\n",taille); + for (i=0;i<taille;i++){ + for (j=0;j<taille;j++){ + grille[i][j]=0; + } + } +} + void iteration_suivante(int **grille, int **nouvelle_grille ,int *regles_survie, int *regles_naissances, int taille){ int i; int j; @@ -48,12 +65,12 @@ void iteration_suivante(int **grille, int **nouvelle_grille ,int *regles_survie, void changer_case(int **grille,int i,int j,int taille){ - - if (grille[i%taille][j%taille]==0){ - grille[i%taille][j%taille]=1; + printf("%d\n",grille[i][j]); + if (grille[i*taille][j/taille]==0){ + grille[i/taille][j/taille]=1; } else { - grille[i%taille][j%taille]=0; + grille[i/taille][j/taille]=0; } } diff --git a/travail_individuel/Beret/jeu_de_la_vie/src/map.h b/travail_individuel/Beret/jeu_de_la_vie/src/map.h index e8d00f8..100f555 100644 --- a/travail_individuel/Beret/jeu_de_la_vie/src/map.h +++ b/travail_individuel/Beret/jeu_de_la_vie/src/map.h @@ -12,6 +12,7 @@ int nombrevoisin(int **grille,int i , int j,int w); void liberer_grille(int **grille,int taille); +void init_grille( int **grille, int taille); void iteration_suivante(int **grille,int **nouvelle_grille, int *regles_mort, int *regles_naissances, int taille); void changer_case(int **grille,int i,int j,int taille); #endif \ No newline at end of file diff --git a/travail_individuel/Beret/jeu_de_la_vie/src/render.c b/travail_individuel/Beret/jeu_de_la_vie/src/render.c index 28ddbac..54bedee 100644 --- a/travail_individuel/Beret/jeu_de_la_vie/src/render.c +++ b/travail_individuel/Beret/jeu_de_la_vie/src/render.c @@ -1,6 +1,6 @@ #include "render.h" -void init_sdl(SDL_Window *window_1,SDL_Renderer *renderer,int dimension_grille){ +void init_sdl(SDL_Window *window_1,SDL_Renderer *renderer,int dimension_tableau){ if (SDL_Init(SDL_INIT_VIDEO) != 0) { SDL_Log("Error : SDL initialisation - %s\n", @@ -9,9 +9,9 @@ void init_sdl(SDL_Window *window_1,SDL_Renderer *renderer,int dimension_grille){ window_1 = SDL_CreateWindow("Jeu de la vie", SDL_WINDOWPOS_CENTERED, - SDL_WINDOWPOS_CENTERED, 10*dimension_grille, - 10*dimension_grille, - SDL_WINDOW_OPENGL); + SDL_WINDOWPOS_CENTERED, dimension_tableau, + dimension_tableau, + SDL_WINDOW_RESIZABLE); if (window_1 == NULL) { SDL_Log("Error : SDL window 1 creation - %s\n", @@ -29,15 +29,20 @@ void init_sdl(SDL_Window *window_1,SDL_Renderer *renderer,int dimension_grille){ } -void dessiner_grille(SDL_Renderer* renderer, int **grille,int taille){ +void dessiner_grille(SDL_Renderer* renderer, int **grille,int taille, int taille_fen){ int i; int j; - + int taille_case= taille_fen/taille; + SDL_RenderClear(renderer); for (i=0;i<taille;i++){ for(j=0;j<taille;j++){ - SDL_Rect rectangle= {10*i,10*j,10,10}; + SDL_Rect rectangle; + rectangle.x = quelleTaillePourLesCases(width, taille_monde_delimitee)*i; + rectangle.y = quelleTaillePourLesCases(height, taille_monde_delimitee)*j; + rectangle.w = quelleTaillePourLesCases(width, taille_monde_delimitee)-2; + rectangle.h = quelleTaillePourLesCases(height, taille_monde_delimitee)-2; if (grille [i][j]==1){ SDL_SetRenderDrawColor(renderer, @@ -53,6 +58,7 @@ void dessiner_grille(SDL_Renderer* renderer, int **grille,int taille){ } } } + SDL_RenderPresent(renderer); } void fin_sdl(SDL_Renderer* renderer,SDL_Window *window_1){ @@ -62,4 +68,4 @@ void fin_sdl(SDL_Renderer* renderer,SDL_Window *window_1){ SDL_DestroyWindow(window_1); window_1 = NULL; SDL_Quit(); - } \ No newline at end of file +} \ No newline at end of file diff --git a/travail_individuel/Beret/jeu_de_la_vie/src/render.h b/travail_individuel/Beret/jeu_de_la_vie/src/render.h index b99c42e..cca60af 100644 --- a/travail_individuel/Beret/jeu_de_la_vie/src/render.h +++ b/travail_individuel/Beret/jeu_de_la_vie/src/render.h @@ -7,6 +7,6 @@ #include <SDL2/SDL.h> void init_sdl(SDL_Window *window_1 ,SDL_Renderer *renderer,int dimension_grille); -void dessiner_grille(SDL_Renderer* renderer, int ** grille, int taille); +void dessiner_grille(SDL_Renderer* renderer, int ** grille, int taille,int taille_fen); void fin_sdl(SDL_Renderer* renderer,SDL_Window *window_1); #endif \ No newline at end of file -- GitLab