ajout d'image de pomme et accélération du serpent

This commit is contained in:
Yann KERAUDREN 2023-12-23 16:23:43 +01:00
parent fbb9dcdd41
commit 9ebf610378
9 changed files with 52 additions and 23 deletions

@ -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;

@ -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 */

@ -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;
}

@ -8,6 +8,6 @@
#include "plateau_init.h"
void start (struct adresse* pointeur);
int start (struct adresse* pointeur);
#endif /* FENETRE_H */

Binary file not shown.

@ -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 */

BIN
snake/pomme.png Normal file

Binary file not shown.

After

(image error) Size: 1.4 KiB

@ -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));

@ -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 */