diff --git a/travail_de_groupe/jeu_appren_par_renfo/Makefile b/travail_de_groupe/jeu_appren_par_renfo/Makefile
index 8889fb44b1f7075b3e20fcd49ce9f4675174a743..c72220f04fe632330b9b88d00da7755d9af74f26 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/Makefile
+++ b/travail_de_groupe/jeu_appren_par_renfo/Makefile
@@ -1,7 +1,7 @@
 CC=gcc
 
-LDFLAG=$(shell sdl2-config --cflags --libs) -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
-CFLAG=-Wall $(shell sdl2-config --cflags --libs)
+LDFLAG=$(shell sdl2-config --cflags --libs) -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread -g
+CFLAG=-Wall $(shell sdl2-config --cflags --libs) -g
 
 EXEC=run
 SRC=$(wildcard src/*.c)
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/main.c b/travail_de_groupe/jeu_appren_par_renfo/src/main.c
index 8a59783029a51c87c893b57abc9364c3ff1a4dd3..2d9d02a0184cede662ae405986017b96ee2f950a 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/main.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/main.c
@@ -8,9 +8,10 @@ int main(){
     int i= 10;
     
     srand ( time(NULL));
-    while (i>0){
+    // while (i>0){
     traningAgent(100000,30, Q);
-    i--;} 
+    // i--;} 
+    //printf(" %d \n ", convertIntoZone(agent->x,agent->y));
     
     writeQ(Q);
     // running = 1;
@@ -22,5 +23,5 @@ int main(){
     // mainLoop();
 
 
-    mainLoop();
+    //mainLoop();
 }
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/map.h b/travail_de_groupe/jeu_appren_par_renfo/src/map.h
index 20248bf32b3782ecbdce1d8c4407e0eba8ce9d40..e291f869f9b2356f715534295bc6374dc8ba51ca 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/map.h
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/map.h
@@ -8,7 +8,7 @@
 //#include "main.h"
 
 #define MAP_WIDTH 31
-#define MAP_HEIGHT 11
+#define MAP_HEIGHT 10
 
 extern int map[MAP_HEIGHT][MAP_WIDTH];
 
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c
index 7850eb567e76dd38b9577b9ae9a2e3f61732dd8b..376b7a595152fb2ee4801ae2e1f6d3bc23bda46b 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c
@@ -18,21 +18,36 @@ agent_t * initAgent (){
 void moveAgent(agent_t * agent, int choice){
     switch (choice)
     {
-    case BACK:
-        agent->x += 1*agent->speed; //Avancer 
-        break;
+   case BACK:
+                if (agent->x + 1 < (MAP_WIDTH-1) * 1)
+                {
+                    agent->x += 1;
+                }
+        
+                break;
 
-    case FOWARD:
-        agent->x -= 1*agent->speed; // reculer 
-        break;
+            case FOWARD:
+                if (agent->x - 1 > (MAP_WIDTH/2 + 1) * 1)
+                {
+                    agent->x -= 1;
+                }
+            
+                break;
 
-    case UP:
-        agent->y += 1*agent->speed;
-        break;
+            case UP:
+                if (agent->y - 1 > 1)
+                {
+                    agent->y -= 1;
+                }
+                break;
 
-    case DOWN:
-        agent->y -= 1*agent->speed;
-        break;
+            case DOWN:
+                if (agent->y + 1 < (MAP_HEIGHT-1) * 1)
+                {
+                    agent->y += 1;
+                }
+              
+                break;
     case WAIT: 
         break; 
     }
@@ -144,14 +159,20 @@ int argmax(float * arr){
     return maxIndex;
 }
 
+// int convertIntoZone(int xAgent,int yAgent){
+//     int zone=0; 
+//     xAgent=xAgent;
+//     yAgent=yAgent;
+//     if(xAgent> 15 && xAgent<23 && yAgent<=4){zone=0;} 
+//     else if(xAgent>22 && xAgent<31 && yAgent<=4){zone=1;} 
+//     else if(xAgent> 15 && xAgent<23 && yAgent<9){zone=2;}
+//     else if(xAgent> 22 && xAgent<= 31&& yAgent<9){zone=3;}
+     
+//     return zone ; 
+// }
 int convertIntoZone(int xAgent,int yAgent){
     int zone=0; 
-    xAgent=xAgent;
-    yAgent=yAgent;
-    if(xAgent> 15 && xAgent<23 && yAgent<=4){zone=0;} 
-    else if(xAgent>22 && xAgent<31 && yAgent<=4){zone=1;} 
-    else if(xAgent> 15 && xAgent<23 && yAgent<9){zone=2;}
-    else if(xAgent> 22 && xAgent<= 31&& yAgent<9){zone=3;}
+    zone = (yAgent-1)*14 +(xAgent -16)%14 ;
      
     return zone ; 
 }
@@ -387,6 +408,7 @@ void traningAgent ( int numberRun, int numberStep, float *****Q) {// pour avoir
                             reward=0; 
                             //printf (" %d \n  ", m);
                             while(i>0){
+                                printf("%d %d \n  ",agent->x ,agent->y );
                                 action =takeAction(agent->x ,agent->y , Q, canonZone, zoneAngleH, zoneAngleF, greedy);
                                 agentZone= convertIntoZone( agent->x,agent->y ); 
                                 line.receiverZone= agentZone; 
diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h
index 0de0a4563b67d2f222de7c891a38abf29ee24654..62b8a9e283d03ba915ea685ad7c178f3063573df 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h
@@ -17,7 +17,7 @@
 
 
 #define NUMBER_ZONE_SHOOTER 4
-#define NUMBER_ZONE_RECEIVER 4
+#define NUMBER_ZONE_RECEIVER 112
 #define NUMBER_ACTION 5 
 
 #define FOWARD 0//<--