diff --git a/travail_individuel/Belkhiri/GameOfLife/map.txt b/travail_individuel/Belkhiri/GameOfLife/map.txt
index 5858bfb8de8f758990b661cf90de8f3e8d0e4d62..461edd9ede9574c368e0a332b974a7cc4411ffe4 100644
--- a/travail_individuel/Belkhiri/GameOfLife/map.txt
+++ b/travail_individuel/Belkhiri/GameOfLife/map.txt
@@ -1,20 +1,5 @@
-0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 
-0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 
-0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 
-0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 
-0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 
-0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 
-0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
-0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 
+0 0 0 0 0 
+0 1 0 1 0 
+0 0 0 0 0 
+0 0 0 0 0 
diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run
new file mode 100755
index 0000000000000000000000000000000000000000..b4c3dc621abb0fa478779fdf9a4734e610cf775a
Binary files /dev/null and b/travail_individuel/Belkhiri/GameOfLife/run differ
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/gest_event.c b/travail_individuel/Belkhiri/GameOfLife/src/gest_event.c
index a56b164917fbaec04ab02e89c3c1590a31197f91..5d338db0490c37ee59c40a0469d30081d51e534b 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/gest_event.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/gest_event.c
@@ -10,15 +10,24 @@ void gestMenu(){
                     running = 0;
                     break;
                 
-                case SDL_KEYUP:
+                case SDL_KEYDOWN:
                     switch (event.key.keysym.sym)
                     {
                     case SDLK_x:
                         running = 0;
                         continue;
+
+                    case SDLK_UP:
+                        MAPSIZE++;
+                        continue;
+
+                    case SDLK_DOWN:
+                        MAPSIZE--;
+                        continue;
                     
                     default:
                         game_state = GAME;
+                        initMap();
                         continue;
                     }
                     break;
@@ -51,7 +60,7 @@ void gestGame(){
                         continue;
 
                     case SDLK_s:
-                        writeMap(map, "map.txt");
+                        writeMap("map.txt");
                         printf("Saved map to map.txt\n");
                     
                     default:
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/main.c b/travail_individuel/Belkhiri/GameOfLife/src/main.c
index 967862f6bd5cd0179ee1ce3294ebd002f7a87617..8c8553a1a206661f247725e56df879225b011864 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/main.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/main.c
@@ -7,7 +7,6 @@ int game_state;
 int main(){
     running = 1;
     game_state = MENU;
-    initMap(map);
 
     MainLoop();
 
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.c b/travail_individuel/Belkhiri/GameOfLife/src/map.c
index 30a49ee806d1e71c952d8fffb9f1408ab6b8ccca..025044668b687dd7ac5589e31b6c4e8d0d862d3f 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.c
@@ -1,10 +1,19 @@
 #include "map.h"
 
+int MAPSIZE = 20;
 
-int map[MAPSIZE][MAPSIZE];
+int ** map;
+
+void allocateMap(){
+    map = malloc(MAPSIZE * sizeof(int*));
+    for(int i = 0; i < MAPSIZE; i++){
+        map[i] = malloc(MAPSIZE * sizeof(int));
+    }
+}
 
 
-void initMap(int map[MAPSIZE][MAPSIZE]) {
+void initMap() {
+    allocateMap();
     for(int i = 0; i < MAPSIZE; i++){
         for(int j = 0; j < MAPSIZE; j++){
             map[i][j] = 0;
@@ -13,7 +22,7 @@ void initMap(int map[MAPSIZE][MAPSIZE]) {
 }
 
 
-void printMap(int map[MAPSIZE][MAPSIZE]){
+void printMap(){
     for(int i = 0; i < MAPSIZE; i++){
         for(int j = 0; j < MAPSIZE; j++){
             printf("%d ", map[i][j]);
@@ -23,7 +32,7 @@ void printMap(int map[MAPSIZE][MAPSIZE]){
 }
 
 
-void writeMap(int map[MAPSIZE][MAPSIZE], char* filename){
+void writeMap(char* filename){
     FILE* f = fopen(filename, "w");
     for(int i = 0; i < MAPSIZE; i++){
         for(int j = 0; j < MAPSIZE; j++){
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.h b/travail_individuel/Belkhiri/GameOfLife/src/map.h
index b50040c93b8fa9ebed34986df1a5eaae64590376..6ba8681921611b88e47f1962c8626c306636b5de 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.h
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.h
@@ -3,11 +3,11 @@
 
 #include "main.h"
 
-#define MAPSIZE 20
-extern int map[MAPSIZE][MAPSIZE];
+extern int MAPSIZE;
+extern int ** map;
 
-void printMap(int map[MAPSIZE][MAPSIZE]);
-void initMap(int map[MAPSIZE][MAPSIZE]);
-void writeMap(int map[MAPSIZE][MAPSIZE], char* filename);
+void printMap();
+void initMap();
+void writeMap(char* filename);
 
 #endif
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/render.c b/travail_individuel/Belkhiri/GameOfLife/src/render.c
index 4d5a88bdebd808d7a50f416ee27a81154e8efb0c..8ca7d3d14e9534a736200c0471ccf650b7ac312f 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/render.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/render.c
@@ -18,6 +18,7 @@ SDL_Surface * columnSurface = NULL;
 SDL_Texture * backgroundTexture = NULL;
 SDL_Surface * backgroundSurface = NULL;
 
+
 void CreateWindow(){
 
     if (SDL_Init(SDL_INIT_VIDEO) != 0){
@@ -78,16 +79,31 @@ void drawPlayButton(){
     SDL_RenderCopy(renderer, playButtonTexture, NULL, &playButtonRect);
 }
 
+void drawMAPSIZE(){
+    char str[10];
+    sprintf(str, "%d", MAPSIZE);
+    SDL_Color textColor = {0, 0, 0};
+    SDL_Surface * surface = TTF_RenderText_Solid(RobotoFont, str, textColor);
+    SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, surface);
+
+    int titleWidth, titleHeight;
+    SDL_QueryTexture(texture, NULL, NULL, &titleWidth, &titleHeight);
+
+    SDL_Rect titleRect = {ScreenDimension.w/2 - titleWidth/2, ScreenDimension.h/1.2 - titleHeight, titleWidth, titleHeight};
+    SDL_RenderCopy(renderer, texture, NULL, &titleRect);
+}
+
 void drawMenu(){
     SDL_RenderClear(renderer);
     drawBackground();
     drawTitle();
     drawPlayButton();
+    drawMAPSIZE();
     SDL_RenderPresent(renderer);
 }
 
 
-void drawMap(int map[MAPSIZE][MAPSIZE]){
+void drawMap(){
     int x_offset = ScreenDimension.w/2 - MAPSIZE*CELLSIZE/2;
     for(int i = 0; i < MAPSIZE; i++){
         for(int j = 0; j < MAPSIZE; j++){
@@ -114,7 +130,7 @@ void drawGame(){
     SDL_RenderClear(renderer);
     drawBackground();
     drawBackground2();
-    drawMap(map);
+    drawMap();
     drawColumns();
     SDL_RenderPresent(renderer);
 }