diff --git a/evenement.c b/evenement.c
index 93a5a34..a03ca8a 100644
--- a/evenement.c
+++ b/evenement.c
@@ -80,14 +80,13 @@ void DeplacementSerpent(int direction ,int *serpent, int longueur)
     int tempX = serpent[0];
     int tempY = serpent[1];
     int i;
+    int compteur;
     couleur g;
     couleur j;
     ChoisirEcran(2);
     j=CouleurParNom("yellow");
     g=CouleurParNom("lightgreen");
 
-    ChoisirCouleurDessin(g);
-    RemplirRectangle(serpent[longueur-2],serpent[longueur-1],T_PIXEL,T_PIXEL);
 
     for (i = 2; i < longueur; i += 2) {
         int tempX2 = serpent[i];
@@ -99,6 +98,16 @@ void DeplacementSerpent(int direction ,int *serpent, int longueur)
         tempX = tempX2;
         tempY = tempY2;
     }
+    for(i=0;i< longueur; i++)
+    {
+        if(serpent[i] != NULL)
+        {
+            compteur++;
+        }
+    }
+    ChoisirCouleurDessin(g);
+    RemplirRectangle(serpent[compteur-2],serpent[compteur-1],T_PIXEL,T_PIXEL);
+
 
     ChoisirCouleurDessin(j);
     if(direction == 0) /* Direction vers la gauche */
diff --git a/main.c b/main.c
index 5796c60..8d097c5 100644
--- a/main.c
+++ b/main.c
@@ -185,7 +185,7 @@ int main()
                 DeplacementSerpent(direction,serpent,longueur_serpent);
                 if(MangerPastille(serpent,pastilles,&score) == 1)
                 {
-                    longueur_serpent+=2;
+                    longueur_serpent+=4;
                     serpent = (int*) realloc(serpent,longueur_serpent * sizeof(int));
                 }
 	            }