Rectification Segmentation Fault du dernier commit (Agrandissement serpent + score)

This commit is contained in:
Vincent 2023-12-09 09:04:42 +01:00
parent c9155cdd88
commit 16054ef43f
3 changed files with 15 additions and 16 deletions

@ -38,7 +38,7 @@ void InitialiserPastilles(PIXELS *pastilles) {
}
}
void MangerPastille(int *serpent, PIXELS* pastilles, size_t *longueur_serpent, size_t longueur_pastilles,unsigned long *score)
int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score)
{
couleur r;
int i = 0;
@ -50,19 +50,18 @@ void MangerPastille(int *serpent, PIXELS* pastilles, size_t *longueur_serpent, s
{
if(serpent[0] == pastilles[i].x && serpent[1] == pastilles[i].y)
{
printf("\nMANGER !\n");
pastilles[i] = gen_pastille();
RemplirRectangle(pastilles[i].x,pastilles[i].y,T_PIXEL,T_PIXEL);
*longueur_serpent+=2;/*augmente la taille du serpent de deux car un pixel =2*/
*score+=5;
printf("%ld",*longueur_serpent); /*voir la taille du serpent*/
return 1;
}
}
return 0;
}
int PastilleSurSerpent(PIXELS pastille, int *serpent, size_t longueur_serpent)
/*int PastilleSurSerpent(PIXELS pastille, int *serpent, size_t longueur_serpent)
{
int i;
@ -74,7 +73,7 @@ int PastilleSurSerpent(PIXELS pastille, int *serpent, size_t longueur_serpent)
}
}
return 0;
}
}*/
void DeplacementSerpent(int direction ,int *serpent, int longueur)
{
@ -105,13 +104,13 @@ void DeplacementSerpent(int direction ,int *serpent, int longueur)
if(direction == 0) /* Direction vers la gauche */
{
serpent[0]-=T_PIXEL;
RemplirRectangle(serpent[0],serpent[1],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);
}
else if(direction == 2) /* Direction vers la droite */
{

@ -3,7 +3,7 @@
#ifndef EVENEMENT_H
#define EVENEMENT_H
void MangerPastille(int *serpent, PIXELS* pastilles, size_t longueur_serpent, size_t longueur_pastilles, unsigned long *score);
int MangerPastille(int *serpent, PIXELS* pastilles,unsigned long *score);
void DeplacementSerpent(int direction ,int *serpent, int longueur);
@ -11,6 +11,7 @@ void InitialiserPastilles(PIXELS *pastilles);
void AfficherTimerEtScore(int m,int n,int score);
int PastilleSurSerpent(PIXELS pastille, int *serpent, size_t longueur_serpent);
int PastilleSurSerpent(PIXELS pastille, int *serpent, int longueur_serpent);
#endif

11
main.c

@ -169,11 +169,6 @@ int main()
pause = 0;
}
default:
printf("Autre touche\n");
break;
}
}
else
@ -194,7 +189,11 @@ int main()
direction_davant = direction; /* Check si le serpent à le droit de changer de direction */
DeplacementSerpent(direction,serpent,longueur_serpent);
MangerPastille(serpent,pastilles,&longueur_serpent,longueur_pastilles,&score);
if(MangerPastille(serpent,pastilles,&score) == 1)
{
longueur_serpent+=2;
serpent = (int*) realloc(serpent,longueur_serpent * sizeof(int));
}
}
}