diff --git a/snake/deplacement.c b/snake/deplacement.c index 2e7f03f..c764393 100644 --- a/snake/deplacement.c +++ b/snake/deplacement.c @@ -14,19 +14,26 @@ -void deplacement (struct adresse* pointeur, char* sens) { +void deplacement (struct adresse* pointeur, unsigned char* sens) { int** plateau = pointeur -> plateau; unsigned char* tete = pointeur -> tete; - unsigned char* queue = pointeur -> queue; + unsigned char* queue = pointeur -> queue; + couleur green, yellow; + + green = CouleurParComposante(50,205,50); + + yellow = CouleurParComposante(255,255,0); + + /* affectations des commandes aux touches du jeu */ - if (TouchEnAttente() == 1) { + if (ToucheEnAttente() == 1) { if (Touche() == XK_Left) { @@ -38,11 +45,11 @@ void deplacement (struct adresse* pointeur, char* sens) { tete[1] = tete[1] - 1; - *sens = "gauche"; + *sens = GAUCHE; } - if (Touch() == XK_Right) { + if (Touche() == XK_Right) { plateau[tete[0]][tete[1]] = 0; @@ -52,11 +59,11 @@ void deplacement (struct adresse* pointeur, char* sens) { tete[1] = tete[1] + 1; - *sens = "droite"; + *sens = DROITE; } - if (Touch() == XK_Up) { + if (Touche() == XK_Up) { plateau[tete[0]][tete[1]] = 0; @@ -66,10 +73,10 @@ void deplacement (struct adresse* pointeur, char* sens) { tete[0] = tete[0] - 1; - *sens = "haut"; + *sens = HAUT; } - if (Touch() == XK_Down) { + if (Touche() == XK_Down) { plateau[tete[0]][tete[1]] = 0; @@ -79,22 +86,30 @@ void deplacement (struct adresse* pointeur, char* sens) { tete[0] = tete[0] + 1; - *sens = "bas"; + *sens = DROITE; } else { - if ( strcmp(*sens,"bas") == 1) { + if ( *sens == BAS) { plateau[tete[0] + 1][tete[1]] = 1; plateau[queue[0]][queue[1]] = 0; tete[0] = tete[0] + 1; + + ChoisirCouleurDessin(yellow); + RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); + + ChoisirCouleurDessin(green); + RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); + + } - if ( strcmp(*sens, "haut") ==1) { + if ( *sens == HAUT) { plateau[tete[0] - 1][tete[1]] = 1; @@ -104,7 +119,7 @@ void deplacement (struct adresse* pointeur, char* sens) { } - if ( strcmp(*sens, "droite") ==1) { + if ( *sens == DROITE) { plateau[tete[0]][tete[1] + 1] = 1; @@ -114,7 +129,7 @@ void deplacement (struct adresse* pointeur, char* sens) { } - if ( strcmp(*sens, "gauche") ==1) { + if ( *sens == GAUCHE) { plateau[tete[0]][tete[1] - 1] = 1; @@ -129,7 +144,6 @@ void deplacement (struct adresse* pointeur, char* sens) { /* mise à jour de la position de queue dans le plateau */ - maj_queue(queue, plateau); } } diff --git a/snake/deplacement.h b/snake/deplacement.h index 94c0cc4..ce03003 100644 --- a/snake/deplacement.h +++ b/snake/deplacement.h @@ -3,6 +3,12 @@ #ifndef DEPLACEMENT_H #define DEPLACEMENT_H -void deplacement (struct adresse* pointeur, char* sens); +#define HAUT 0 +#define DROITE 1 +#define BAS 2 +#define GAUCHE 3 +#include "plateau_init.h" + +void deplacement (struct adresse* pointeur, unsigned char* sens); #endif /* DEPLACEMENT_H */ diff --git a/snake/fenetre.c b/snake/fenetre.c index e43ae22..f75d270 100755 --- a/snake/fenetre.c +++ b/snake/fenetre.c @@ -19,7 +19,7 @@ int start (struct adresse* pointeur) { int i, j; - char* texte1 = "espace = lancer"; + char* texte1 = "espace = lancer"; char* texte2 = "espace = pause"; diff --git a/snake/fenetre.h b/snake/fenetre.h index 90d1080..8e3ae70 100644 --- a/snake/fenetre.h +++ b/snake/fenetre.h @@ -5,6 +5,8 @@ #ifndef FENETRE_H #define FENETRE_H +#include "plateau_init.h" + void start (struct adresse* pointeur); diff --git a/snake/lancement b/snake/lancement index 44c21f3..54aaf37 100755 Binary files a/snake/lancement and b/snake/lancement differ diff --git a/snake/main.c b/snake/main.c index f76919f..635f63c 100644 --- a/snake/main.c +++ b/snake/main.c @@ -14,18 +14,19 @@ int main(void) { struct adresse* pointeur = plateau_init(); + int i; - char* sens = NULL; + unsigned char* sens = NULL; unsigned char jeu = 1 ; unsigned long suivant; - sens = malloc(sizeof(char)); + sens = malloc(sizeof(unsigned char)); - *sens = "bas"; + *sens = 2; suivant = Microsecondes() + CYCLE; @@ -61,20 +62,20 @@ int main(void) { for ( i = 0; i < LIGNES; i++) { - free(tableau[i]); + free(pointeur->plateau[i]); } - free(pointeur); + free(pointeur -> plateau); - free(tete); + free(pointeur -> tete); - free(queue); + free(pointeur -> queue); free(sens); - free(tableau); + free(pointeur);