avancement sur les déplacement du serpent
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
#include <stdio.h>
|
||||
#include <graph.h>
|
||||
#include "plateau_init.h"
|
||||
#include "update_queue.h"
|
||||
#include "supp_queue.h"
|
||||
#include "deplacement.h"
|
||||
|
||||
|
||||
@@ -21,7 +21,11 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
|
||||
|
||||
unsigned char* tete = pointeur -> tete;
|
||||
|
||||
unsigned char* queue = pointeur -> queue;
|
||||
unsigned int** corps_serpent = pointeur -> corps_serpent;
|
||||
|
||||
unsigned int* indice_queue = pointeur -> indice_queue;
|
||||
|
||||
int touche;
|
||||
|
||||
couleur green, yellow;
|
||||
|
||||
@@ -31,59 +35,6 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
|
||||
|
||||
|
||||
|
||||
printf("%d %d", queue[0], queue[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*(queue[1] +1 ),20*(queue[0] +1 ),20,20);
|
||||
|
||||
queue[0] = queue[0] + 1;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ( *sens == HAUT) {
|
||||
|
||||
plateau[tete[0] - 1][tete[1]] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[0] = tete[0] -1;
|
||||
|
||||
}
|
||||
|
||||
if ( *sens == DROITE) {
|
||||
|
||||
plateau[tete[0]][tete[1] + 1] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[1] = tete[1] + 1;
|
||||
|
||||
}
|
||||
|
||||
if ( *sens == GAUCHE) {
|
||||
|
||||
plateau[tete[0]][tete[1] - 1] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[1] = tete[1] - 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -91,71 +42,167 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) {
|
||||
|
||||
if (ToucheEnAttente() == 1) {
|
||||
|
||||
if (Touche() == XK_Left) {
|
||||
touche = Touche();
|
||||
|
||||
if (touche == XK_Left) {
|
||||
|
||||
plateau[tete[0]][tete[1]] = 0;
|
||||
|
||||
plateau[tete[0]][tete[1] - 1] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
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);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if (Touche() == XK_Right) {
|
||||
if (touche == XK_Right) {
|
||||
|
||||
plateau[tete[0]][tete[1]] = 0;
|
||||
|
||||
plateau[tete[0]][tete[1] + 1] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
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);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (Touche() == XK_Up) {
|
||||
if (touche == XK_Up) {
|
||||
|
||||
plateau[tete[0]][tete[1]] = 0;
|
||||
|
||||
plateau[tete[0] - 1][tete[1]] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
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);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (Touche() == XK_Down) {
|
||||
if (touche == XK_Down) {
|
||||
|
||||
plateau[tete[0]][tete[1]] = 0;
|
||||
|
||||
plateau[tete[0] + 1][tete[1]] = 1;
|
||||
|
||||
plateau[queue[0]][queue[1]] = 0;
|
||||
plateau[corps_serpent[*indice_queue][0]][corps_serpent[*indice_queue][1]] = 0;
|
||||
|
||||
tete[0] = tete[0] + 1;
|
||||
|
||||
*sens = DROITE;
|
||||
ChoisirCouleurDessin(yellow);
|
||||
RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
|
||||
|
||||
|
||||
*sens = BAS;
|
||||
|
||||
supp_queue(pointeur);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
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);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* mise à jour de la position de queue dans le plateau et sur le plateau */
|
||||
|
||||
supp_queue( pointeur);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* mise à jour de la position de queue dans le plateau */
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user