diff --git a/code/soldier.c b/code/soldier.c
index a0fa7bfcd084893d69bd1212898e3f315851ee16..a8cc6aea28b1d5c4cb6cf4114273c1e5c155b17a 100644
--- a/code/soldier.c
+++ b/code/soldier.c
@@ -36,7 +36,14 @@ void init_bullet(soldier_t *soldier)
       init_sprite(&soldier->charger[i].sprite, -10, -10, BULLET_WIDTH, BULLET_WIDTH, BULLET_SPEED,1);
     	set_invisible(&soldier->charger[i].sprite);
     	soldier->charger[i].shoot = 0;
-    	soldier->charger[i].sens = soldier->charger[29].sens;
+    	//soldier->charger[i].sens = soldier->charger[29].sens;
+      if(soldier->is_looking_up == 1)
+        soldier->charger[i].sens = 'h';
+      else if(soldier->direction == 1)
+        soldier->charger[i].sens = 'd';
+      else if(soldier->direction == -1)
+        soldier->charger[i].sens = 'g';
+      
       soldier->DestBullet[i].x = soldier->charger[i].sprite.x;
       soldier->DestBullet[i].y = soldier->charger[i].sprite.y;
       soldier->DestBullet[i].w = BULLET_WIDTH;
@@ -85,7 +92,8 @@ void shoot(soldier_t *soldier){
       {
         if(soldier->direction == 1)
           soldier->charger[soldier->present_bullet].sprite.x = soldier->sprite.x+SOLDIER_WIDTH/2-2;
-        else{ 
+        else
+        { 
           soldier->charger[soldier->present_bullet].sprite.x = soldier->sprite.x+30;      
         }
         soldier->charger[soldier->present_bullet].sprite.y = ORDERED_BULLET-SOLDIER_HEIGHT+15;
@@ -122,13 +130,18 @@ void shoot(soldier_t *soldier){
 void shootAfterE(soldier_t *soldier){
 	for (int i = 0; i < NB_BULLET; ++i)
 	{
-		if (soldier->charger[i].shoot == 1 && over_right(&soldier->charger[i].sprite) == 0 && over_left(&soldier->charger[i].sprite) == 0 ){
-			if (soldier->charger[i].sens == 'd'){
+		if (soldier->charger[i].shoot == 1 && over_right(&soldier->charger[i].sprite) == 0 && over_left(&soldier->charger[i].sprite) == 0 )
+    {
+			if (soldier->charger[i].sens == 'd')
+      {
 				soldier->charger[i].sprite.x += soldier->charger[i].sprite.v;
-			}else if (soldier->charger[i].sens == 'g')
+			}
+      else if (soldier->charger[i].sens == 'g')
 			{
 				soldier->charger[i].sprite.x -= soldier->charger[i].sprite.v;
-			}else{
+			}
+      else
+      {
 				soldier->charger[i].sprite.y -= soldier->charger[i].sprite.v;
 			}
 			//print_sprite(&soldier->charger[i].sprite);
diff --git a/code/world_data.c b/code/world_data.c
index acba8a1a0b0e176b12191ec3d047c0ae93362920..075b076cf6eab6d39c1e472830a4a60397ba9ea4 100644
--- a/code/world_data.c
+++ b/code/world_data.c
@@ -213,7 +213,7 @@ void handle_events(SDL_Event *event,world_t *world)
       save_game(world);
       //Libère la mémoire du tableau DestBullet pour l'affichage
       free(world->soldier.DestBullet);
-      clearEnemies(&world->rounds);
+      //clearEnemies(&world->rounds);
       world->gameover = 1;
     }
    
diff --git a/data/save.txt b/data/save.txt
index b6216b901f05fa92548275658185f45fbd8fc970..f24eb31e9a2f70ec33aec790dc0846e06c8416c9 100644
--- a/data/save.txt
+++ b/data/save.txt
@@ -1,8 +1,8 @@
 /Vie du joueur au début
 10
 /Nombre d'ennemis au début
-15
+11
 /Nombre d'ennemis en plus à chaque manche
-5
+3
 /Nombre de balles
 30