diff --git a/snake/Makefile b/snake/Makefile index d1b5d97..0b05061 100755 --- a/snake/Makefile +++ b/snake/Makefile @@ -20,7 +20,7 @@ plateau_init.o : plateau_init.h fenetre.o : fenetre.h plateau_init.h -main.o : main.c fenetre.h time.h +main.o : main.c fenetre.h ### COMMANDES ### diff --git a/snake/fenetre.c b/snake/fenetre.c index 6b9661a..e43ae22 100755 --- a/snake/fenetre.c +++ b/snake/fenetre.c @@ -9,18 +9,17 @@ -int start (void) { +int start (struct adresse* pointeur) { couleur green, grey, yellow, red, black, white; - int* plateau_tete_queue = plateau_init(); - int** tableau = plateau_tete_queue[0]; + int** tableau = pointeur -> plateau; int i, j; - char* texte1 = "espace = lancer"; + char* texte1 = "espace = lancer"; char* texte2 = "espace = pause"; @@ -29,7 +28,6 @@ int start (void) { int score=0; - /* remplisage du fond d'écran */ grey = CouleurParComposante(35,35,35); @@ -47,7 +45,7 @@ int start (void) { RemplirRectangle( 1220, 17, 3, 806); - /*affichage du score */ + /* affichage du score */ RemplirRectangle( 1241, 17, 195, 3); RemplirRectangle( 1241, 17, 3, 806); @@ -55,7 +53,7 @@ int start (void) { RemplirRectangle( 1433, 17, 3, 806); - /*affichage fonction des touches*/ + /* affichage fonction des touches */ white = CouleurParComposante(255,255,255); ChoisirCouleurDessin(white); @@ -65,11 +63,7 @@ int start (void) { /*affichage compteur pomme (score)*/ - void ajout_scorescore (unsigned int compteur) { - compteur = compteur + 5; - char* a= (int) compteur; - EcrireTexte(1250, 600, a, 2); -} + @@ -116,7 +110,7 @@ int start (void) { } - } + } @@ -127,6 +121,8 @@ int start (void) { free(tableau[i]); } + + free(tableau); diff --git a/snake/fenetre.h b/snake/fenetre.h index 00a40b6..90d1080 100644 --- a/snake/fenetre.h +++ b/snake/fenetre.h @@ -6,6 +6,6 @@ #define FENETRE_H -void start (void); +void start (struct adresse* pointeur); #endif /* FENETRE_H */ diff --git a/snake/main.c b/snake/main.c index cebc483..b050594 100644 --- a/snake/main.c +++ b/snake/main.c @@ -3,7 +3,6 @@ #include <graph.h> #include "fenetre.h" #include "plateau_init.h" -#include "deplacement.h" @@ -11,28 +10,10 @@ int main(void) { - short int jeu = 1; - int* plateau = plateau_init(); - - unsigned long suivant; - - int* tete = NULL; - int* queue = NULL; - - char sens = "bas"; + struct adresse* pointeur = plateau_init(); - /* alloacation des tableau tete et queue qui prendront les coordonnées de la tête et la queue - - tete = malloc(2*sizeof(short int)); - - queue = malloc(2*sizeof(short int)); - - - - /*suiavnt = Microsencondes() + CYCLE;*/ - InitialiserGraphique(); /*initialisation de la taille de la fenetre de jeux*/ @@ -40,7 +21,7 @@ int main(void) { CreerFenetre(10,10,1450,840); - start(); + start(pointeur); /* while ( jeu = 1) { diff --git a/snake/plateau_init.c b/snake/plateau_init.c index a26ab88..98995ae 100755 --- a/snake/plateau_init.c +++ b/snake/plateau_init.c @@ -5,40 +5,44 @@ #include <stdlib.h> #include <stdio.h> -#include <time.h> -#define LIGNES 40 -#define COLONNES 60 -#define NBR_POMME 5 -#define TAILLE_SERPENT 10 +#include <time.h> +#include "plateau_init.h" + +struct adresse* plateau_init(void) { -int* plateau_init(void) { + int ligne_pomme, colonne_pomme, i; - int ligne_pomme, colonne_pomme, i, j; - int* plateau_tete_queue = NULL; - - int* tete = NULL; - int* queue = NULL; + unsigned char* tete = NULL; + unsigned char* queue = NULL; int** plateau = NULL; + struct adresse plateau_tete_queue = {NULL, NULL, NULL}; + + struct adresse* pointeur = NULL; + + srand(time(NULL)); + /* allocation du pointeur */ - /* allocation du tableau qui renvoie les addresses du plateau, de la tete et de la queue */ + pointeur = malloc(sizeof( struct adresse)); - plateau_tete_queue = malloc(3 * sizeof(long double)); - tete = malloc(2*sizeof(short int)); - queue = malloc(2*sizeof(short int)); + /* allocation du tableau tete et queue */ + + tete = malloc(2*sizeof(unsigned char)); + + queue = malloc(2*sizeof(unsigned char)); /* allocation du tableau dans le tas */ - plateau = calloc(LIGNES, sizeof(double)); + plateau = calloc(LIGNES, sizeof(int*)); for ( i = 0; i < LIGNES; i++) { @@ -82,24 +86,22 @@ int* plateau_init(void) { ligne_pomme = rand() % 40; colonne_pomme = rand() % 60; - } + /* le chiffre "2" definit une pomme */ plateau[ligne_pomme][colonne_pomme] = 2; - } + } - - plateau_tete_queue[0] = **plateau; + pointeur -> plateau = plateau; + pointeur -> tete = tete; + pointeur -> queue = queue; + + - plateau_tete_queue[1] = *tete; - - plateau_tete_queue[2] = *queue; - - - - return plateau_tete_queue; + + return pointeur; } diff --git a/snake/plateau_init.h b/snake/plateau_init.h index 00b1591..0ffc960 100644 --- a/snake/plateau_init.h +++ b/snake/plateau_init.h @@ -10,12 +10,18 @@ #define LIGNES 40 #define COLONNES 60 -#define NBR_POMMME 5 +#define NBR_POMME 5 #define TAILLE_SERPENT 10 +struct adresse { + int** plateau; + unsigned char* tete; + unsigned char* queue; +}; -int* plateau_init(void); + +struct adresse* plateau_init(void); diff --git a/snake/search_queue.c b/snake/search_queue.c deleted file mode 100644 index 6d79009..0000000 --- a/snake/search_queue.c +++ /dev/null @@ -1,31 +0,0 @@ - - -#include <stdlib.h> -#include <stdio.h> -#include "plateau_init.h" - - -int* search_queue( int* queue, int** p) { - - int i, j; - - /* recherche de la tête et la queue dans le tableau */ - - for ( i = 0; i < LIGNES; i++) { - - for ( j = 0; j < COLONNES; j++) { - - if ( p[i][j] == -2) { - - queue[0] = i; - queue[1] = j; - - p[i][j] = 1; - - } - } - } - - return queue; - -} diff --git a/snake/search_tete.c b/snake/search_tete.c deleted file mode 100644 index 735e39b..0000000 --- a/snake/search_tete.c +++ /dev/null @@ -1,38 +0,0 @@ - - -#include <stdlib.h> -#include <stdio.h> -#include "plateau_init.h" - - - - -int* search_tete(int* tete, int** p) { - - - int i, j; - - - - - /* recherche de la tête et la queue dans le tableau */ - - for ( i = 0; i < LIGNES; i++) { - - for ( j = 0; j < COLONNES; j++) { - - if ( p[i][j] == -1) { - - tete[0] = i; - tete[1] = j; - - p[i][j] = 1; - - } - } - } - - return tete; - -} - diff --git a/snake/search_tete.h b/snake/search_tete.h deleted file mode 100644 index e69de29..0000000