From f0a2ca328ba716082c372ad9d742a4aa73834862 Mon Sep 17 00:00:00 2001 From: keraudre Date: Tue, 12 Dec 2023 17:39:55 +0100 Subject: [PATCH] maj --- snake/Makefile | 7 ++-- snake/deplacement.c | 76 ++++++++++++++++++++++++------------------- snake/deplacement.h | 2 +- snake/fenetre.c | 1 - snake/lancement | Bin 0 -> 16184 bytes snake/main.c | 50 +++++++++++++++++++++++++--- snake/plateau_init.c | 12 ++++--- snake/update_queue.h | 4 +-- 8 files changed, 103 insertions(+), 49 deletions(-) create mode 100755 snake/lancement diff --git a/snake/Makefile b/snake/Makefile index 0b05061..8b4dd61 100755 --- a/snake/Makefile +++ b/snake/Makefile @@ -8,6 +8,7 @@ but : run OFILES = plateau_init.o \ fenetre.o \ + deplacement.o \ main.o CC = gcc @@ -16,11 +17,13 @@ CFLAGS = -ansi -pedantic -lgraph ### REGLES ESSENTIELLES ### -plateau_init.o : plateau_init.h +plateau_init.o : plateau_init.h fenetre.o : fenetre.h plateau_init.h -main.o : main.c fenetre.h +deplacement.o : deplacement.h + +main.o : main.c fenetre.h deplacement.h ### COMMANDES ### diff --git a/snake/deplacement.c b/snake/deplacement.c index a4d09e6..2e7f03f 100644 --- a/snake/deplacement.c +++ b/snake/deplacement.c @@ -5,14 +5,23 @@ #include #include -#include +#include #include "plateau_init.h" #include "update_queue.h" +#include "deplacement.h" -void deplacement(int** p, int* tete, int* queue) { - + + +void deplacement (struct adresse* pointeur, char* sens) { + + + int** plateau = pointeur -> plateau; + + unsigned char* tete = pointeur -> tete; + + unsigned char* queue = pointeur -> queue; /* affectations des commandes aux touches du jeu */ @@ -21,95 +30,95 @@ void deplacement(int** p, int* tete, int* queue) { if (Touche() == XK_Left) { - p[tete[0]][tete[1]] = 0; + plateau[tete[0]][tete[1]] = 0; - p[tete[0]][tete[1] - 1] = 1; + plateau[tete[0]][tete[1] - 1] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[1] = tete[1] - 1; - sens = "gauche"; + *sens = "gauche"; } if (Touch() == XK_Right) { - p[tete[0]][tete[1]] = 0; + plateau[tete[0]][tete[1]] = 0; - p[tete[0]][tete[1] + 1] = 1; + plateau[tete[0]][tete[1] + 1] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[1] = tete[1] + 1; - sens = "droite"; + *sens = "droite"; } if (Touch() == XK_Up) { - p[tete[0]][tete[1]] = 0; + plateau[tete[0]][tete[1]] = 0; - p[tete[0] - 1][tete[1]] = 1; + plateau[tete[0] - 1][tete[1]] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[0] = tete[0] - 1; - sens = "haut"; + *sens = "haut"; } - if (Touch() == XK_down) { + if (Touch() == XK_Down) { - p[tete[0]][tete[1]] = 0; + plateau[tete[0]][tete[1]] = 0; - p[tete[0] + 1][tete[1]] = 1; + plateau[tete[0] + 1][tete[1]] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[0] = tete[0] + 1; - sens = "bas"; + *sens = "bas"; } else { - if ( strcmp(sens,"bas") == 1) { + if ( strcmp(*sens,"bas") == 1) { - p[tete[0] + 1][tete[1]] = 1; + plateau[tete[0] + 1][tete[1]] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[0] = tete[0] + 1; } - if ( strcmp(sens, "haut") ==1) { + if ( strcmp(*sens, "haut") ==1) { - p[tete[0] - 1][tete[1]] = 1; + plateau[tete[0] - 1][tete[1]] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[0] = tete[0] -1; } - if ( strcmp(sens, "droite") ==1) { + if ( strcmp(*sens, "droite") ==1) { - p[tete[0]][tete[1] + 1] = 1; + plateau[tete[0]][tete[1] + 1] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[1] = tete[1] + 1; } - if ( strcmp(sens, "gauche") ==1) { + if ( strcmp(*sens, "gauche") ==1) { - p[tete[0]][tete[1] - 1] = 1; + plateau[tete[0]][tete[1] - 1] = 1; - p[queue[0]][queue[1]] = 0; + plateau[queue[0]][queue[1]] = 0; tete[1] = tete[1] - 1; @@ -120,12 +129,11 @@ void deplacement(int** p, int* tete, int* queue) { /* mise à jour de la position de queue dans le plateau */ - maj_queue(queue, p); + maj_queue(queue, plateau); } } - return p; } diff --git a/snake/deplacement.h b/snake/deplacement.h index 06b657c..94c0cc4 100644 --- a/snake/deplacement.h +++ b/snake/deplacement.h @@ -3,6 +3,6 @@ #ifndef DEPLACEMENT_H #define DEPLACEMENT_H -void deplacement (int** p, int* tete, int* queue); +void deplacement (struct adresse* pointeur, char* sens); #endif /* DEPLACEMENT_H */ diff --git a/snake/fenetre.c b/snake/fenetre.c index 57ae857..851142a 100755 --- a/snake/fenetre.c +++ b/snake/fenetre.c @@ -27,7 +27,6 @@ int start (struct adresse* pointeur) { int score=0; - char* num_score = "score : 00000"; diff --git a/snake/lancement b/snake/lancement new file mode 100755 index 0000000000000000000000000000000000000000..44c21f3e06812d00d3918ff5f38a371437db2f15 GIT binary patch literal 16184 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 literal 0 HcmV?d00001 diff --git a/snake/main.c b/snake/main.c index b050594..3e27527 100644 --- a/snake/main.c +++ b/snake/main.c @@ -3,9 +3,10 @@ #include #include "fenetre.h" #include "plateau_init.h" +#include "deplacement.h" - +#define CYCLE 1000000L int main(void) { @@ -14,6 +15,23 @@ int main(void) { struct adresse* pointeur = plateau_init(); + char* sens = NULL; + + + unsigned char jeu = 1 ; + + unsigned long suivant; + + sens = malloc(sizeof(char)); + + *sens = "bas"; + + + suivant = Microsecondes() + CYCLE; + + + + InitialiserGraphique(); /*initialisation de la taille de la fenetre de jeux*/ @@ -21,17 +39,41 @@ int main(void) { CreerFenetre(10,10,1450,840); + start(pointeur); - /* while ( jeu = 1) { + while ( jeu = 1) { if (Microsecondes() > suivant) { - deplacement(plateau, tete, queue); + deplacement(pointeur, sens); - }*/ + } + + } + + + + /* déallocations des tableaux */ + + for ( i = 0; i < LIGNES; i++) { + + free(tableau[i]); + + } + + free(pointeur); + + free(tete); + + free(queue); + + free(sens); + + + free(tableau); Touche(); diff --git a/snake/plateau_init.c b/snake/plateau_init.c index 98995ae..e87db1e 100755 --- a/snake/plateau_init.c +++ b/snake/plateau_init.c @@ -94,14 +94,16 @@ struct adresse* plateau_init(void) { plateau[ligne_pomme][colonne_pomme] = 2; - } + } + - pointeur -> plateau = plateau; - pointeur -> tete = tete; - pointeur -> queue = queue; + pointeur -> plateau = plateau; + pointeur -> tete = tete; + pointeur -> queue = queue; + - return pointeur; + return pointeur; } diff --git a/snake/update_queue.h b/snake/update_queue.h index 7100ed0..e565eb6 100644 --- a/snake/update_queue.h +++ b/snake/update_queue.h @@ -4,9 +4,9 @@ #ifndef UPDATE_QUEUE_H #define UPDATE_QUEUE_H -int test_queue(int* queue, int** p) ;* +int test_queue(int* queue, int** p) ; -#enfif /* UPDATE_QUEUE_H */ +#endif /* UPDATE_QUEUE_H */