FIX direction serpent

This commit is contained in:
Vincent TEISSIER 2023-12-02 08:02:05 +01:00
parent cb38e83c36
commit e34d6fb72b
2 changed files with 20 additions and 0 deletions

20
main.c

@ -208,6 +208,7 @@ int main()
int *serpent = (int *)malloc(longueur_serpent * sizeof(int)); int *serpent = (int *)malloc(longueur_serpent * sizeof(int));
int *pastilles = (int *)malloc(longueur_pastilles * sizeof(int)); int *pastilles = (int *)malloc(longueur_pastilles * sizeof(int));
int direction = 0; int direction = 0;
int direction_davant = 0;
if(serpent == NULL) { if(serpent == NULL) {
fprintf(stderr, "Erreur d'allocation de mémoire.\n"); fprintf(stderr, "Erreur d'allocation de mémoire.\n");
@ -233,16 +234,33 @@ int main()
{ {
case XK_Up: case XK_Up:
direction = 1; direction = 1;
if(direction_davant == 3 && direction == 1)
{
direction = direction_davant;
}
break; break;
case XK_Down: case XK_Down:
direction = 3; direction = 3;
if(direction_davant == 1 && direction == 3)
{
direction = direction_davant;
}
break; break;
case XK_Left: case XK_Left:
direction = 0; direction = 0;
if(direction_davant == 2 && direction == 0)
{
direction = direction_davant;
}
break; break;
case XK_Right: case XK_Right:
direction = 2; direction = 2;
if(direction_davant == 0 && direction == 2)
{
direction = direction_davant;
}
break; break;
case XK_space: case XK_space:
if(pause == 0) if(pause == 0)
{ {
@ -271,8 +289,10 @@ int main()
m++; m++;
n=0; n=0;
} }
Affichertimeretscore(m,n,score); Affichertimeretscore(m,n,score);
suivant=Microsecondes()+delta; suivant=Microsecondes()+delta;
direction_davant = direction;
DeplacementSerpent(direction,serpent,longueur_serpent); DeplacementSerpent(direction,serpent,longueur_serpent);

BIN
prog

Binary file not shown.