diff --git a/evenement.c b/evenement.c
index a03ca8a..c57047d 100644
--- a/evenement.c
+++ b/evenement.c
@@ -38,7 +38,7 @@ void InitialiserPastilles(PIXELS *pastilles) {
     }
 }
 
-int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score)
+int MangerPastille(PIXELS *serpent, PIXELS* pastilles,unsigned long *score)
     {
         couleur r;
         int i = 0;
@@ -48,7 +48,7 @@ int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score)
 
         for(i=0;i<PASTILLES;i++)
         {
-            if(serpent[0] == pastilles[i].x && serpent[1] == pastilles[i].y)
+            if(serpent[0].x == pastilles[i].x && serpent[0].y == pastilles[i].y)
             {
                 pastilles[i] = gen_pastille();
                 RemplirRectangle(pastilles[i].x,pastilles[i].y,T_PIXEL,T_PIXEL);
@@ -75,10 +75,10 @@ int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score)
     return 0;
 }*/
 
-void DeplacementSerpent(int direction ,int *serpent, int longueur)
+void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur)
 {
-    int tempX = serpent[0];
-    int tempY = serpent[1];
+    int tempX = serpent[0].x;
+    int tempY = serpent[0].y;
     int i;
     int compteur;
     couleur g;
@@ -89,46 +89,46 @@ void DeplacementSerpent(int direction ,int *serpent, int longueur)
 
 
     for (i = 2; i < longueur; i += 2) {
-        int tempX2 = serpent[i];
-        int tempY2 = serpent[i + 1];
+        int tempX2 = serpent[i].x;
+        int tempY2 = serpent[i].y;
 
-        serpent[i] = tempX;
-        serpent[i + 1] = tempY;
+        serpent[i].x = tempX;
+        serpent[i].y = tempY;
 
         tempX = tempX2;
         tempY = tempY2;
     }
     for(i=0;i< longueur; i++)
     {
-        if(serpent[i] != NULL)
+        if(serpent[i].x != NULL && serpent[i].y != NULL)
         {
             compteur++;
         }
     }
     ChoisirCouleurDessin(g);
-    RemplirRectangle(serpent[compteur-2],serpent[compteur-1],T_PIXEL,T_PIXEL);
+    RemplirRectangle(serpent[compteur].x,serpent[compteur].y,T_PIXEL,T_PIXEL);
 
 
     ChoisirCouleurDessin(j);
     if(direction == 0) /* Direction vers la gauche */
     {
-        serpent[0]-=T_PIXEL;
-        RemplirRectangle(serpent[0],serpent[1],T_PIXEL,T_PIXEL);
+        serpent[0].x-=T_PIXEL;
+        RemplirRectangle(serpent[0].x,serpent[0].y,T_PIXEL,T_PIXEL);
     }
     else if(direction == 1) /* Direction vers le haut */
     {
-        serpent[1]-=T_PIXEL;
-        RemplirRectangle(serpent[0],serpent[1],T_PIXEL,T_PIXEL);
+        serpent[0].y-=T_PIXEL;
+        RemplirRectangle(serpent[0].x,serpent[0].y,T_PIXEL,T_PIXEL);
 
     }
     else if(direction == 2) /* Direction vers la droite */
     {
-        serpent[0]+=T_PIXEL;
-        RemplirRectangle(serpent[0],serpent[1],T_PIXEL,T_PIXEL);
+        serpent[0].x+=T_PIXEL;
+        RemplirRectangle(serpent[0].x,serpent[0].y,T_PIXEL,T_PIXEL);
     }
     else if(direction == 3) /* Direction vers le bas */
     {
-        serpent[1]+=T_PIXEL;
-        RemplirRectangle(serpent[0],serpent[1],T_PIXEL,T_PIXEL);
+        serpent[0].y+=T_PIXEL;
+        RemplirRectangle(serpent[0].x,serpent[0].y,T_PIXEL,T_PIXEL);
     }
 }
\ No newline at end of file
diff --git a/evenement.h b/evenement.h
index 5a39c6d..53aa91e 100644
--- a/evenement.h
+++ b/evenement.h
@@ -3,15 +3,15 @@
 #ifndef EVENEMENT_H
 #define EVENEMENT_H
 
-int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score);
+int MangerPastille(PIXELS *serpent, PIXELS* pastilles,unsigned long *score);
 
-void DeplacementSerpent(int direction ,int *serpent, int longueur);
+void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur);
 
 void InitialiserPastilles(PIXELS *pastilles);
 
 void AfficherTimerEtScore(int m,int n,unsigned long *score);
 
-int PastilleSurSerpent(PIXELS pastille, int *serpent, int longueur_serpent);
+int PastilleSurSerpent(PIXELS pastille, PIXELS *serpent, int longueur_serpent);
 
 
 #endif
\ No newline at end of file
diff --git a/main.c b/main.c
index 8d097c5..9ec439e 100644
--- a/main.c
+++ b/main.c
@@ -48,7 +48,7 @@ PIXELS gen_pastille()
     return pastille;
 }
 
-void InitialisationDuSerpent(int *p_serpent) /* L'initialisation du serpent */
+void InitialisationDuSerpent(PIXELS *p_serpent) /* L'initialisation du serpent */
 {
     int x_millieu = 0, y_millieu = 0 , compteur = 0;
     couleur j;
@@ -61,20 +61,20 @@ void InitialisationDuSerpent(int *p_serpent) /* L'initialisation du serpent */
 
     /* printf("x_millieu : %d | y_millieu : %d\n",x_millieu,y_millieu);        DEBUG*/
 
-    p_serpent[0] = x_millieu;
-    p_serpent[1] = y_millieu;
-    for(compteur=0;compteur<=16;compteur+=2) /* Commence par 1 car p_serpent index 0 initialisées pour la tête et 2 + 2x9 = 10 couples de coordonnées 2D */
+    p_serpent[0].x = x_millieu;
+    p_serpent[0].y = y_millieu;
+    for(compteur=0;compteur<=9;compteur++) /* Commence par 1 car p_serpent index 0 initialisées pour la tête et 2 + 2x9 = 10 couples de coordonnées 2D */
     {
-        p_serpent[compteur+2] = p_serpent[compteur]+T_PIXEL;
-        p_serpent[compteur+3] = p_serpent[compteur+1];
+        p_serpent[compteur+1].x = p_serpent[compteur].x+T_PIXEL;
+        p_serpent[compteur+1].y = p_serpent[compteur].y;
 
         /*printf("x_millieu : %d | y_millieu : %d\n",p_serpent[compteur+2],p_serpent[compteur+3]);        DEBUG*/
 
-        RemplirRectangle(p_serpent[compteur+2],p_serpent[compteur+3],T_PIXEL,T_PIXEL);
+        RemplirRectangle(p_serpent[compteur+1].x,p_serpent[compteur+1].y,T_PIXEL,T_PIXEL);
     }
 }
 
-void DessinerScene(PIXELS *pastilles, int *serpent) /* Dessine la scène */
+void DessinerScene(PIXELS *pastilles, PIXELS *serpent) /* Dessine la scène */
 {
     couleur c;
     ChoisirEcran(2);
@@ -185,7 +185,7 @@ int main()
                 DeplacementSerpent(direction,serpent,longueur_serpent);
                 if(MangerPastille(serpent,pastilles,&score) == 1)
                 {
-                    longueur_serpent+=4;
+                    longueur_serpent+=2;
                     serpent = (int*) realloc(serpent,longueur_serpent * sizeof(int));
                 }
 	            }