diff --git a/snake/deplacement.c b/snake/deplacement.c index ecb7919..e57da60 100644 --- a/snake/deplacement.c +++ b/snake/deplacement.c @@ -14,7 +14,7 @@ -unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsigned char* retard, short int* compteur) { +unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsigned char* retard, short int* compteur, unsigned long* acceleration, int numsprite) { int** plateau = pointeur -> plateau; @@ -84,7 +84,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign *sens = GAUCHE; - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -141,7 +141,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign *sens = DROITE; - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -191,7 +191,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign *sens = HAUT; - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -244,7 +244,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign *sens = BAS; - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -299,7 +299,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -343,7 +343,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -388,7 +388,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; @@ -432,7 +432,7 @@ unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsign RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - supp_queue(pointeur, retard, compteur); + supp_queue(pointeur, retard, compteur, acceleration, numsprite); plateau[tete[0]][tete[1]] = 1; diff --git a/snake/deplacement.h b/snake/deplacement.h index de6bdc2..8eb44a2 100644 --- a/snake/deplacement.h +++ b/snake/deplacement.h @@ -9,6 +9,6 @@ #define GAUCHE 3 #include "plateau_init.h" -unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsigned char* retard, short int* compteur); +unsigned char deplacement (struct adresse* pointeur, unsigned char* sens, unsigned char* retard, short int* compteur, unsigned long* acceleration, int numsprite); #endif /* DEPLACEMENT_H */ diff --git a/snake/fenetre.c b/snake/fenetre.c index 5a75520..ed0d755 100755 --- a/snake/fenetre.c +++ b/snake/fenetre.c @@ -8,8 +8,7 @@ #include "fenetre.h" - -void start (struct adresse* pointeur) { +int start (struct adresse* pointeur) { couleur green, grey, yellow, red, black, white; @@ -27,6 +26,8 @@ void start (struct adresse* pointeur) { int score=0; + int numsprite; + @@ -87,6 +88,12 @@ void start (struct adresse* pointeur) { /* remplissage du plateau de jeux avec les couleur adéquate */ + + + numsprite = ChargerSprite("pomme.png"); + + + for (i = 0; i < LIGNES; i++) { for (j = 0; j < COLONNES; j++) { @@ -108,16 +115,18 @@ void start (struct adresse* pointeur) { if ( plateau[i][j] == 2) { - red = CouleurParComposante(255,0,0); - ChoisirCouleurDessin(red); + /*red = CouleurParComposante(255,0,0);*/ + ChoisirCouleurDessin(green); RemplirRectangle(20*(j+1),20*(i+1),20,20); + + AfficherSprite(numsprite, 20*(j+1), 20*(i+1)); } } - } - + } + return numsprite; } diff --git a/snake/fenetre.h b/snake/fenetre.h index 8e3ae70..73464c1 100644 --- a/snake/fenetre.h +++ b/snake/fenetre.h @@ -8,6 +8,6 @@ #include "plateau_init.h" -void start (struct adresse* pointeur); +int start (struct adresse* pointeur); #endif /* FENETRE_H */ diff --git a/snake/lancement b/snake/lancement deleted file mode 100755 index 0c7f1ee..0000000 Binary files a/snake/lancement and /dev/null differ diff --git a/snake/main.c b/snake/main.c index 36e72bb..5c168a0 100644 --- a/snake/main.c +++ b/snake/main.c @@ -36,6 +36,10 @@ int main(void) { unsigned long suivant; + unsigned long acceleration = 0L; + + int numsprite; + sens = malloc(sizeof(unsigned char)); @@ -63,10 +67,11 @@ int main(void) { jeu = ecran_lancement(); - start(pointeur); + numsprite = start(pointeur); compteur = score_init(); + while (jeu == 1) { @@ -79,9 +84,11 @@ int main(void) { - jeu = deplacement(pointeur, sens, retard, compteur); + jeu = deplacement(pointeur, sens, retard, compteur, &acceleration, numsprite); - suivant = Microsecondes() + CYCLE; + suivant = Microsecondes() + CYCLE - acceleration; + + printf("{%ld}", acceleration); @@ -91,6 +98,8 @@ int main(void) { } + LibererSprite(numsprite); + /* déallocations des tableaux */ diff --git a/snake/pomme.png b/snake/pomme.png new file mode 100644 index 0000000..df5b26c Binary files /dev/null and b/snake/pomme.png differ diff --git a/snake/supp_queue.c b/snake/supp_queue.c index f55d49f..7d4b757 100644 --- a/snake/supp_queue.c +++ b/snake/supp_queue.c @@ -13,7 +13,7 @@ -void supp_queue( struct adresse* pointeur, unsigned char* retard, short int* compteur) { +void supp_queue( struct adresse* pointeur, unsigned char* retard, short int* compteur, unsigned long* acceleration, int numsprite) { int** corps_serpent = pointeur -> corps_serpent; @@ -36,6 +36,7 @@ void supp_queue( struct adresse* pointeur, unsigned char* retard, short int* com srand(time(NULL)); + /* teste si le serpent mange une pomme */ @@ -44,6 +45,8 @@ void supp_queue( struct adresse* pointeur, unsigned char* retard, short int* com *retard = *retard + 2; + *acceleration = *acceleration + 500L; + ajout_score(compteur); printf("[%hhu]\n", *retard); @@ -63,9 +66,17 @@ void supp_queue( struct adresse* pointeur, unsigned char* retard, short int* com plateau[ligne_pomme][colonne_pomme] = 2; - red = CouleurParComposante(255,0,0); + /*red = CouleurParComposante(255,0,0); ChoisirCouleurDessin(red); + RemplirRectangle(20*(colonne_pomme + 1),20*(ligne_pomme + 1),20,20);*/ + + green = CouleurParComposante(50,205,50); + ChoisirCouleurDessin(green); RemplirRectangle(20*(colonne_pomme + 1),20*(ligne_pomme + 1),20,20); + + + AfficherSprite(numsprite,20*(colonne_pomme + 1), 20*(ligne_pomme + 1)); + diff --git a/snake/supp_queue.h b/snake/supp_queue.h index 346f029..7bb9dee 100644 --- a/snake/supp_queue.h +++ b/snake/supp_queue.h @@ -8,7 +8,7 @@ #include "augmentation_serpent.h" #include "ajout_score.h" -void supp_queue(struct adresse* pointeur, unsigned char* retard, short int* compteur) ; +void supp_queue(struct adresse* pointeur, unsigned char* retard, short int* compteur, unsigned long* acceleration, int numsprite) ; #endif /* SUPP_QUEUE_H */