Ajout du timer en secondes réelles, mort serpent quand il se touche
This commit is contained in:
22
main.c
22
main.c
@@ -18,7 +18,7 @@ int ArrondirPixel(int nombre) /* Calcule un arrondi du pixel pour pouvoir respec
|
||||
return arrondi;
|
||||
}
|
||||
|
||||
PIXELS gen_pastille(PIXELS *serpent,int longueur_serpent)
|
||||
PIXELS gen_pastille(PIXELS *serpent,PIXELS *pastilles,int longueur_serpent)
|
||||
|
||||
/* nb_pastille = int nombre de pastille voulue , p_pastilles est un pointeur d'un tableau de pixels qui sont des pastilles*/
|
||||
/*Générer une pastille dans la grid*/
|
||||
@@ -34,13 +34,12 @@ PIXELS gen_pastille(PIXELS *serpent,int longueur_serpent)
|
||||
y_pastille = ArrondirPixel(rand()%H_GAME);
|
||||
for(i=0;i<longueur_serpent;i++)
|
||||
{
|
||||
if(x_pastille == serpent[i].x && y_pastille == serpent[i].y)
|
||||
if(x_pastille == serpent[i].x && y_pastille == serpent[i].y && x_pastille == pastilles[i].x && y_pastille == pastilles[i].y )
|
||||
{
|
||||
ok = 1;
|
||||
ok = 1; /* Check si la pastille se genère sur une coordonné du serpent ou d'une pastille existante */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}while(ok);
|
||||
|
||||
if(x_pastille < DECALEMENT)
|
||||
@@ -101,13 +100,15 @@ void DessinerScene(PIXELS *pastilles, PIXELS *serpent, int longueur_serpent) /*
|
||||
int main()
|
||||
{
|
||||
unsigned char pause = 0;
|
||||
unsigned long *score =0;
|
||||
unsigned long score =0;
|
||||
unsigned long suivant;
|
||||
int go_on=1;
|
||||
int n = 0;
|
||||
int m = 0;
|
||||
|
||||
time_t temps;
|
||||
|
||||
size_t longueur_serpent = 200;
|
||||
size_t longueur_serpent = 12;
|
||||
size_t longueur_pastilles = PASTILLES;
|
||||
PIXELS *serpent = (PIXELS *)malloc(longueur_serpent * sizeof(PIXELS));
|
||||
PIXELS *pastilles = (PIXELS *)malloc(longueur_pastilles * sizeof(PIXELS));
|
||||
@@ -115,6 +116,8 @@ int main()
|
||||
int direction = 0;
|
||||
int direction_davant = 0;
|
||||
|
||||
temps = time(NULL); /*Première mesure du temps*/
|
||||
|
||||
if(serpent == NULL) {
|
||||
fprintf(stderr, "Erreur d'allocation de mémoire.\n");
|
||||
return EXIT_FAILURE;
|
||||
@@ -189,11 +192,12 @@ int main()
|
||||
n=0;
|
||||
}
|
||||
|
||||
AfficherTimerEtScore(m,n,score);
|
||||
AfficherTimerEtScore(&score,temps);
|
||||
|
||||
suivant=Microsecondes()+delta;
|
||||
|
||||
direction_davant = direction; /* Check si le serpent à le droit de changer de direction */
|
||||
|
||||
MourrirSerpent(serpent,longueur_serpent);
|
||||
DeplacementSerpent(direction,serpent,longueur_serpent);
|
||||
if(MangerPastille(serpent,pastilles,&score,longueur_serpent) == 1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user