ajout de la fonction de manger des pommes

This commit is contained in:
2023-12-17 04:09:38 +01:00
parent ec6bc5987d
commit cc1e72bee9
8 changed files with 165 additions and 97 deletions

View File

@@ -19,11 +19,11 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
int** plateau = pointeur -> plateau;
signed char* tete = pointeur -> tete;
unsigned char* tete = pointeur -> tete;
unsigned int** corps_serpent = pointeur -> corps_serpent;
int** corps_serpent = pointeur -> corps_serpent;
unsigned int* indice_queue = pointeur -> indice_queue;
unsigned short* indice_queue = pointeur -> indice_queue;
int touche;
@@ -47,20 +47,24 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
if (touche == XK_Left) {
plateau[tete[0]][tete[1]] = 0;
plateau[tete[0]][tete[1] - 1] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[1] = tete[1] - 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
*sens = GAUCHE;
supp_queue(pointeur);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
return;
@@ -70,19 +74,21 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
plateau[tete[0]][tete[1]] = 0;
plateau[tete[0]][tete[1] + 1] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[1] = tete[1] + 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
*sens = DROITE;
supp_queue(pointeur);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
return;
}
@@ -91,19 +97,21 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
plateau[tete[0]][tete[1]] = 0;
plateau[tete[0] - 1][tete[1]] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[0] = tete[0] - 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
*sens = HAUT;
supp_queue(pointeur);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
return;
}
@@ -112,19 +120,21 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
plateau[tete[0]][tete[1]] = 0;
plateau[tete[0] + 1][tete[1]] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[0] = tete[0] + 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
*sens = BAS;
supp_queue(pointeur);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
return;
@@ -137,71 +147,76 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
if ( *sens == BAS) {
plateau[tete[0] + 1][tete[1]] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[0] = tete[0] + 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
}
if ( *sens == HAUT) {
plateau[tete[0] - 1][tete[1]] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[0] = tete[0] - 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
}
if ( *sens == DROITE) {
plateau[tete[0]][tete[1] + 1] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[1] = tete[1] + 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
}
if ( *sens == GAUCHE) {
plateau[tete[0]][tete[1] - 1] = 1;
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
tete[1] = tete[1] - 1;
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
supp_queue(pointeur);
plateau[tete[0]][tete[1]] = 1;
}
/* mise à jour de la position de queue dans le plateau et sur le plateau */
supp_queue( pointeur);
}
}