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)); } }