correction bug
This commit is contained in:
parent
e968291016
commit
0bb700e33c
@ -14,19 +14,26 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void deplacement (struct adresse* pointeur, char* sens) {
|
void deplacement (struct adresse* pointeur, unsigned char* sens) {
|
||||||
|
|
||||||
|
|
||||||
int** plateau = pointeur -> plateau;
|
int** plateau = pointeur -> plateau;
|
||||||
|
|
||||||
unsigned char* tete = pointeur -> tete;
|
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 */
|
/* affectations des commandes aux touches du jeu */
|
||||||
|
|
||||||
if (TouchEnAttente() == 1) {
|
if (ToucheEnAttente() == 1) {
|
||||||
|
|
||||||
if (Touche() == XK_Left) {
|
if (Touche() == XK_Left) {
|
||||||
|
|
||||||
@ -38,11 +45,11 @@ void deplacement (struct adresse* pointeur, char* sens) {
|
|||||||
|
|
||||||
tete[1] = tete[1] - 1;
|
tete[1] = tete[1] - 1;
|
||||||
|
|
||||||
*sens = "gauche";
|
*sens = GAUCHE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_Right) {
|
if (Touche() == XK_Right) {
|
||||||
|
|
||||||
plateau[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
@ -52,11 +59,11 @@ void deplacement (struct adresse* pointeur, char* sens) {
|
|||||||
|
|
||||||
tete[1] = tete[1] + 1;
|
tete[1] = tete[1] + 1;
|
||||||
|
|
||||||
*sens = "droite";
|
*sens = DROITE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_Up) {
|
if (Touche() == XK_Up) {
|
||||||
|
|
||||||
plateau[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
@ -66,10 +73,10 @@ void deplacement (struct adresse* pointeur, char* sens) {
|
|||||||
|
|
||||||
tete[0] = tete[0] - 1;
|
tete[0] = tete[0] - 1;
|
||||||
|
|
||||||
*sens = "haut";
|
*sens = HAUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_Down) {
|
if (Touche() == XK_Down) {
|
||||||
|
|
||||||
plateau[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
@ -79,22 +86,30 @@ void deplacement (struct adresse* pointeur, char* sens) {
|
|||||||
|
|
||||||
tete[0] = tete[0] + 1;
|
tete[0] = tete[0] + 1;
|
||||||
|
|
||||||
*sens = "bas";
|
*sens = DROITE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
if ( strcmp(*sens,"bas") == 1) {
|
if ( *sens == BAS) {
|
||||||
|
|
||||||
plateau[tete[0] + 1][tete[1]] = 1;
|
plateau[tete[0] + 1][tete[1]] = 1;
|
||||||
|
|
||||||
plateau[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[0] = tete[0] + 1;
|
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;
|
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;
|
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;
|
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 */
|
/* mise à jour de la position de queue dans le plateau */
|
||||||
|
|
||||||
maj_queue(queue, plateau);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,12 @@
|
|||||||
#ifndef DEPLACEMENT_H
|
#ifndef DEPLACEMENT_H
|
||||||
#define 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 */
|
#endif /* DEPLACEMENT_H */
|
||||||
|
@ -19,7 +19,7 @@ int start (struct adresse* pointeur) {
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
|
||||||
char* texte1 = "espace = lancer";
|
char* texte1 = "espace = lancer";
|
||||||
|
|
||||||
char* texte2 = "espace = pause";
|
char* texte2 = "espace = pause";
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
#ifndef FENETRE_H
|
#ifndef FENETRE_H
|
||||||
#define FENETRE_H
|
#define FENETRE_H
|
||||||
|
|
||||||
|
#include "plateau_init.h"
|
||||||
|
|
||||||
|
|
||||||
void start (struct adresse* pointeur);
|
void start (struct adresse* pointeur);
|
||||||
|
|
||||||
|
BIN
snake/lancement
BIN
snake/lancement
Binary file not shown.
17
snake/main.c
17
snake/main.c
@ -14,18 +14,19 @@ int main(void) {
|
|||||||
|
|
||||||
struct adresse* pointeur = plateau_init();
|
struct adresse* pointeur = plateau_init();
|
||||||
|
|
||||||
|
int i;
|
||||||
|
|
||||||
|
|
||||||
char* sens = NULL;
|
unsigned char* sens = NULL;
|
||||||
|
|
||||||
|
|
||||||
unsigned char jeu = 1 ;
|
unsigned char jeu = 1 ;
|
||||||
|
|
||||||
unsigned long suivant;
|
unsigned long suivant;
|
||||||
|
|
||||||
sens = malloc(sizeof(char));
|
sens = malloc(sizeof(unsigned char));
|
||||||
|
|
||||||
*sens = "bas";
|
*sens = 2;
|
||||||
|
|
||||||
|
|
||||||
suivant = Microsecondes() + CYCLE;
|
suivant = Microsecondes() + CYCLE;
|
||||||
@ -61,20 +62,20 @@ int main(void) {
|
|||||||
|
|
||||||
for ( i = 0; i < LIGNES; i++) {
|
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(sens);
|
||||||
|
|
||||||
|
|
||||||
free(tableau);
|
free(pointeur);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user