mouvement 4

This commit is contained in:
Wilfried BRIGITTE 2023-11-24 17:09:15 +01:00
parent 873bff0594
commit 7ffb44076d

View File

@ -4,19 +4,32 @@
#define CYCLE 10000L
/*variables*/
/*timer*/
int seconde=0;
int minute=0;
int seconde_actuel=0;
int old_seconde=0;
char timer[6];
unsigned long int suivant;
/*fin de jeu*/
int go_on=1;
/*serpent*/
int serpent;
int x = 600;
int y = 400;
int direction = 4; /*1 : vers le haut , 2 : vers le bas; 3 : vers la gauche, 4 : vers la droite*/
int t;
int segment=5;
int i=0;
int pos_x[5];
int pos_y[5];
int old_x[5];
int old_y[5];
/*Fonction Pour créer la première scene du jeu*/
void DessinerScene(){
snprintf(timer,6,"%02d:%02d", minute, seconde);
@ -25,7 +38,14 @@ void DessinerScene(){
ChoisirCouleurDessin(CouleurParComposante(255,255,255));
EcrireTexte(10,760,timer,2);
serpent=ChargerSprite("serpent.png");
AfficherSprite(serpent, x, y);
for (i=0 ; i<segment ; i++){
AfficherSprite(serpent, x-(i*20), y);
pos_x[i]=x-(i*20);
pos_y[i]=y;
old_y[i]=pos_y[i];
old_x[i]=pos_x[i];
}
}
/*Fonction pour mettre à jour unuquement le timer*/
@ -42,13 +62,24 @@ void Update_Timer(){
void Update_Serpent(){
ChoisirCouleurDessin(CouleurParComposante(141,199,63));
RemplirRectangle(20,20,1160,700);
AfficherSprite(serpent, x, y);
AfficherSprite(serpent, pos_x[0], pos_y[0]);
for (i=1 ; i<segment ; i++){
pos_x[i]=old_x[i-1];
pos_y[i]=old_y[i-1];
AfficherSprite(serpent, pos_x[i], pos_y[i]);
}
old_x[0]=pos_x[0];
old_y[0]=pos_y[0];
for (i=1 ; i<segment ; i++){
old_x[i]=pos_x[i];
old_y[i]=pos_y[i];
}
}
void Terrain(){
if (x >1180 || x<20)
if (pos_x[0] >1180 || pos_x[0]<20)
go_on=0;
if (y<0 || y >700)
if (pos_y[0]<0 || pos_y[0] >700)
go_on=0;
}
@ -100,16 +131,16 @@ void Controle(){
/*Avancement automatique du serpent en fonction de la direction*/
void Serpent(){
if (direction == 1){
y=y-20;
pos_y[0]=old_y[0]-20;
}
if (direction == 2){
y=y+20;
pos_y[0]=old_y[0]+20;
}
if (direction == 3){
x=x-20;
pos_x[0]=old_x[0]-20;
}
if (direction == 4){
x=x+20;
pos_x[0]=old_x[0]+20;
}
Update_Serpent();
Terrain();