diff --git a/main.c b/main.c index 8242eb0..289aa91 100644 --- a/main.c +++ b/main.c @@ -208,6 +208,7 @@ int main() int *serpent = (int *)malloc(longueur_serpent * sizeof(int)); int *pastilles = (int *)malloc(longueur_pastilles * sizeof(int)); int direction = 0; + int direction_davant = 0; if(serpent == NULL) { fprintf(stderr, "Erreur d'allocation de mémoire.\n"); @@ -233,16 +234,33 @@ int main() { case XK_Up: direction = 1; + if(direction_davant == 3 && direction == 1) + { + direction = direction_davant; + } break; case XK_Down: direction = 3; + if(direction_davant == 1 && direction == 3) + { + direction = direction_davant; + } break; case XK_Left: direction = 0; + if(direction_davant == 2 && direction == 0) + { + direction = direction_davant; + } break; case XK_Right: direction = 2; + if(direction_davant == 0 && direction == 2) + { + direction = direction_davant; + } break; + case XK_space: if(pause == 0) { @@ -271,8 +289,10 @@ int main() m++; n=0; } + Affichertimeretscore(m,n,score); suivant=Microsecondes()+delta; + direction_davant = direction; DeplacementSerpent(direction,serpent,longueur_serpent); diff --git a/prog b/prog index 6c81fe9..c91a7e7 100755 Binary files a/prog and b/prog differ