ajout obstacle

This commit is contained in:
2023-12-22 19:40:06 +01:00
parent a239e40e33
commit ca367ad3fe
9 changed files with 123 additions and 24 deletions

View File

@@ -26,7 +26,7 @@ void AfficherTimerEtScore(long unsigned int *score, int minutes,int secondes)
CopierZone(1,0,0,0,930,710,0,0);
}
int MourrirSerpent(PIXELS *serpent, int longueur_serpent)
int MourrirSerpent(PIXELS *serpent,PIXELS *obstacle, int longueur_serpent,int longueur_obstacle)
{
int i = 0;
for(i=1;i<longueur_serpent;i++)
@@ -36,6 +36,13 @@ int MourrirSerpent(PIXELS *serpent, int longueur_serpent)
return 1;
}
}
for(i=1;i<longueur_obstacle;i++)
{
if(serpent[0].x == obstacle[i].x && serpent[0].y == obstacle[i].y )
{
return 1;
}
}
if (serpent[0].x<=0 || serpent[0].x>W_GAME || serpent[0].y<=0 || serpent[0].y>H_GAME)
{
return 1;
@@ -43,14 +50,14 @@ int MourrirSerpent(PIXELS *serpent, int longueur_serpent)
return 0;
}
int MangerPastille(PIXELS *serpent, PIXELS* pastilles,unsigned long *score,int longueur_serpent,unsigned long int *vitesse)
int MangerPastille(PIXELS *serpent, PIXELS* pastilles,PIXELS *obstacle,unsigned long *score,int longueur_serpent,unsigned long longueur_obstacle,unsigned long int *vitesse)
{
int i = 0;
for(i=0;i<PASTILLES;i++)
{
if(serpent[0].x == pastilles[i].x && serpent[0].y == pastilles[i].y)
{
pastilles[i] = gen_pastille(serpent,pastilles,longueur_serpent);
pastilles[i] = gen_pastille(serpent,pastilles,obstacle,longueur_serpent,longueur_obstacle);
ChargerImage("./images/PommePastille.png",pastilles[i].x,pastilles[i].y,0,0,T_PIXEL,T_PIXEL);
*score+=5;
*vitesse/=1.008;
@@ -106,14 +113,14 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur)
}
}
int Serpent(PIXELS *serpent,PIXELS *pastilles,unsigned long *score,unsigned long *longueur_serpent,unsigned long int *vitesse,int direction)
int Serpent(PIXELS *serpent,PIXELS *pastilles,PIXELS *obstacle,unsigned long *score,unsigned long *longueur_serpent,int longueur_obstacle,unsigned long int *vitesse,int direction)
{
if(MourrirSerpent(serpent,*longueur_serpent) == 1)
if(MourrirSerpent(serpent,obstacle,*longueur_serpent,longueur_obstacle) == 1)
{
return 2;
}
DeplacementSerpent(direction,serpent,*longueur_serpent);
if(MangerPastille(serpent,pastilles,score,*longueur_serpent,vitesse) == 1)
if(MangerPastille(serpent,pastilles,obstacle,score,*longueur_serpent,longueur_obstacle,vitesse) == 1)
{
*longueur_serpent+=2;
return 1;