diff --git a/main b/main
index 16f068485188d2af9068598fae00b604f74d1c5a..9b50af123a7ffcacd67c51e0163e31a0a06ddbc7 100644
Binary files a/main and b/main differ
diff --git a/main.c b/main.c
index 6e4660cbbcf5b31783f1348a05ee1a30a098110f..4df74937cd2ada1dbac5871b2e671094f44580cb 100644
--- a/main.c
+++ b/main.c
@@ -3,10 +3,10 @@
 
 int main()
 {
-    trap_t trap1= {"the capital of france","paris"};
-    trap_t trap2= {"light bulb inventor","tesla"};
-    trap_t trap3={"the origine of the frensh language","latin"};
-    trap_t trap4={"Who won the world cup in 2006","italy"};
+    trap_t trap1= {"The capital of Yemen","Sanaa","Riyadh","Aden"};
+    //trap_t trap2= {"light bulb inventor","tesla"};
+    //trap_t trap3={"the origine of the frensh language","latin"};
+    //trap_t trap4={"Who won the world cup in 2006","italy"};
     int nbl = 0,nbc = 0,i=0;
     char** map =lire_map("ressources/maze_map.txt");//lire le fichier
     taille_map("ressources/maze_map.txt",&nbl,&nbc);
@@ -18,6 +18,7 @@ int main()
     init_sdl(&fenetre,&ecran,SCREENW,SCREENH);
     // Charger l’images
     apply_texture(walls,ecran);
+    FontPosition_t fontPos=initFontPosition();
     SDL_Event event;
     // Boucle principale
     while(!player->gameover){
diff --git a/trap.c b/trap.c
index 2c2b82cc4f0c750dbacac301170b73a9cff7147a..71cc18387f00894dd715aa88398cb9a34938a109 100644
--- a/trap.c
+++ b/trap.c
@@ -1,72 +1,122 @@
 #include "trap.h"
 
-trap_t* init_trap(trap_t trap1,trap_t trap2,trap_t trap3,trap_t trap4){
+FontPosition_t initFontPosition(){
+    FontPosition_t fontPos;
+    for(int i=0;i<4;i++){
+        fontPos.position[i].h=TRAPHT;
+        fontPos.position[i].w=TRAPWT;
+        if(i==0){
+            fontPos.position[i].x =60;
+            fontPos.position[i].y =30;  
+        }else{
+            fontPos.position[i].x =60;
+            fontPos.position[i].y=30+fontPos.position[i].y; 
+        }
+    }
+   //fontPos.font= TTF_OpenFont("ressources/arial.ttf",20);
+   return fontPos;
+}
+
+SDL_Texture* createText(SDL_Renderer *renderer, TTF_Font *font, const char* text, SDL_Color color,SDL_Rect* position){
+    SDL_Surface *text_img = TTF_RenderText_Solid(font, text, color);
+    SDL_Texture *text_tex = SDL_CreateTextureFromSurface(renderer, text_img);
+    position->x=60;
+    position->y=30;
+    position->w=text_img->w;
+    position->h=text_img->h;
+    SDL_FreeSurface(text_img);
+    return text_tex;
+}
+/*
+void initialiser_text_surf(FontPosition_t fontPos,SDL_Renderer* renderer,trap_t trap){
+    SDL_Color color_question={255,255,255,255};
+    SDL_Color color_answer={255,0,255,0};
+    fontPos.textSurfQ = TTF_RenderText_Solid(fontPos.font,trap.question,color_question);
+    fontPos.textTextureQ= SDL_CreateTextureFromSurface(renderer,fontPos.textSurfQ);
+    for (int i = 0; i < 3; i++)
+    {
+        fontPos.textSurfR[i] = TTF_RenderText_Solid(fontPos.font,trap.answers[i],color_answer);
+        fontPos.textTextureR[i]= SDL_CreateTextureFromSurface(renderer,fontPos.textSurfR[i]); 
+    }
+}*/
+
+trap_t* init_trap(trap_t trap1,trap_t trap2,trap_t trap3){
     trap_t* traps=malloc(4*sizeof(trap_t));
     traps[0]=trap1;
     traps[1]=trap2;
     traps[2]=trap3;
-    traps[3]=trap4;
     return traps;
 }
 
 void showTrap(trap_t trap,player_t* player,SDL_Event* event){
+    int px=0,py=0;
+    //int px=fontPos.position[j+1].x,py=fontPos.position[j+1].y;
+    //SDL_Surface* textSurfQ;
     SDL_Init(SDL_INIT_VIDEO);
-    SDL_Window *fenetre1=SDL_CreateWindow("Trap",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,400,600,SDL_WINDOW_OPENGL);
-    SDL_Renderer *renderer1=SDL_CreateRenderer(fenetre1,-1,0);
+    SDL_Window *fenetre=SDL_CreateWindow("Trap",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,400,600,SDL_WINDOW_OPENGL);
+    SDL_Renderer *renderer=SDL_CreateRenderer(fenetre,-1,0);
     TTF_Init();
-    TTF_Font* font= TTF_OpenFont("ressources/arial.ttf",20);
+    TTF_Font* font= TTF_OpenFont("ressources/arial.ttf",24);
     SDL_Color color={255,255,255,255};
-    SDL_Surface* textSurf;
-    textSurf = TTF_RenderText_Solid(font,trap.question,color);
-    SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer1,textSurf);
-    SDL_Rect textRect ={30,30,textSurf->w,textSurf->h};
-    SDL_FreeSurface(textSurf);
-    TTF_CloseFont(font);
+    SDL_Rect* position;
+    SDL_Rect*position1;
+    SDL_Rect*position2;
+    //textSurfQ = TTF_RenderText_Solid(font,trap.question,color);
+    SDL_Texture* textTextureQ= createText(renderer,font,trap.question,color,position);
+    SDL_Texture* textTextureR=createText(renderer,font,trap.answers,color,position1);
+    SDL_Texture* textTextureR1=createText(renderer,font,trap.answers,color,position2);
+    //SDL_FreeSurface(textSurfQ);
+    //textSurfQ = TTF_RenderText_Solid(font,trap.answers,color);
+    //SDL_Texture* textTextureR= SDL_CreateTextureFromSurface(renderer,textSurfQ);
+    //SDL_FreeSurface(textSurfQ);
+    TTF_CloseFont(font); 
     bool end=false;
-    const char* reponse_j;
-    const char* r;
-    //SDL_SetRenderDrawColor(renderer1,0,0,225,225);
     while(!end){
-      //  apply_text(renderer1,0,0,100,200,trap.question,font);
         while (SDL_PollEvent(event))
         {  
             if (event->type ==SDL_QUIT){
                 end=true;
             }
-            if (event->type == SDL_KEYDOWN){
-                if (event->key.keysym.sym==SDLK_ESCAPE){  //si on appui sur la touche Echap, on quitte le jeu.
-				    end=true;
-			    }
-                if(event->key.keysym.sym==SDLK_KP_ENTER){
-                    if(strcmp(reponse_j,trap.answer)==0){
-                        player->score +=10;
+            if (event->key.keysym.sym==SDLK_ESCAPE){  //si on appui sur la touche Echap, on quitte le jeu.
+				end=true;
+			}
+            if (event->type== SDL_MOUSEBUTTONDOWN){
+                if (event->button.state==SDL_PRESSED){
+                    if(((event->button.x>=px) && (event->button.x<=( px +TRAPWT)))&&((event->button.y>=py)&&(event->button.y<=(py+TRAPHT)))){
+                        player->score += 50;
                         end=true;
                     }else{
                         player->lives--;
                     }
                 }
-                else{
-                    r= SDL_GetKeyName(event->key.keysym.sym);
-           
-                    reponse_j +=*r;
-                   textSurf = TTF_RenderText_Solid(font,reponse_j,color);
-               
-          
-                }
-                       
             }
-            
                  
         }
-
-        SDL_RenderCopy(renderer1,textTexture,NULL, &textRect);
-        SDL_RenderPresent(renderer1);
-        SDL_UpdateWindowSurface(fenetre1);
+        SDL_RenderCopy(renderer,textTextureQ,NULL,position);
+        SDL_RenderCopy(renderer,textTextureR,NULL,position1);
+        SDL_RenderCopy(renderer,textTextureR,NULL,position2);
+        SDL_RenderPresent(renderer);
+        SDL_UpdateWindowSurface(fenetre);
     }
+    SDL_DestroyTexture(textTextureQ);
+    SDL_DestroyTexture(textTextureR);
+    SDL_DestroyTexture(textTextureR1);
     // Quitter SDL
-    SDL_DestroyRenderer(renderer1);
-    SDL_DestroyWindow(fenetre1);
+    SDL_DestroyRenderer(renderer);
+    SDL_DestroyWindow(fenetre);
 
     SDL_Quit();
     TTF_Quit();
-}
\ No newline at end of file
+}
+
+void clean_trap(trap_t* trap){
+    free(trap);
+}
+/*
+void clean_FontPosition(FontPosition_t fontPos){
+    SDL_FreeSurface(fontPos.textSurfQ);
+    SDL_DestroyTexture(fontPos.textTextureQ);
+    SDL_FreeSurface(fontPos.textSurfR);
+    SDL_DestroyTexture(fontPos.textTextureR[i]);
+    TTF_CloseFont(fontPos.font);
+}*/
diff --git a/trap.h b/trap.h
index deeebf1f15e592f118fb9edc51435c0b013455cf..a0f018784b2bbf11c69ea1eda9a36a61173294dc 100644
--- a/trap.h
+++ b/trap.h
@@ -3,13 +3,33 @@
 #include "graphics.h"
 #include "sdl2-ttf-light.h"
 
+#define TRAPHT 60
+#define TRAPWT 120
+
 typedef struct trap_s{
     const char* question;
-    const char* answer;
+    const char* answers;
+    const char* answers1;
+    const char* answers2;
 }trap_t;
 
-trap_t* init_trap(trap_t trap1,trap_t trap2,trap_t trap3,trap_t trap4);
+typedef struct FontPosition_s{
+    SDL_Rect position[4];
+    /*
+    SDL_Surface* textSurfQ;
+    SDL_Surface* textSurfR[3];
+    SDL_Texture* textTextureQ;
+    SDL_Texture* textTextureR[3];
+    TTF_Font* font;*/
+}FontPosition_t;
+
+FontPosition_t initFontPosition();
+void initialiser_text_surf(FontPosition_t fontPos,SDL_Renderer* renderer,trap_t trap);
+SDL_Texture* createText(SDL_Renderer *renderer, TTF_Font *font, const char* text, SDL_Color color,SDL_Rect* position);
+trap_t* init_trap(trap_t trap1,trap_t trap2,trap_t trap3);
 void showTrap(trap_t trap,player_t* player,SDL_Event* event);
+void clean_trap(trap_t* trap);
+void clean_FontPosition(FontPosition_t fontPos);
 //void check_Trap(player_t* player,trap_t trap,char** map,int* i,walls_t* walls);
 
 #endif
\ No newline at end of file