enlevement extern 6

This commit is contained in:
Wilfried BRIGITTE 2023-12-21 11:33:41 +01:00
parent 24fe12aec2
commit 759f65984e
6 changed files with 28 additions and 29 deletions

Binary file not shown.

View File

@ -4,7 +4,6 @@
#include <stdio.h> #include <stdio.h>
#include <graph.h> #include <graph.h>
extern int seconde, minute, seconde_actuel, old_seconde;
extern char timer[6]; extern char timer[6];
extern int pos_x[2400], pos_y[2400], old_x[2400], old_y[2400]; extern int pos_x[2400], pos_y[2400], old_x[2400], old_y[2400];
@ -26,7 +25,7 @@ int Update_Segment(int segment);
void Terrain(); void Terrain();
void Timer(unsigned long int suivant); void Timer(unsigned long int suivant, unsigned long int old_seconde);
void Update_Timer(); void Update_Timer();
void DessinerScene(int segment, int serpent, int pomme); void DessinerScene(int segment, int serpent, int pomme);
int Score(int segment, int Nbr); int Score(int segment, int Nbr);

View File

@ -2,9 +2,9 @@
#include <stdio.h> #include <stdio.h>
#include <graph.h> #include <graph.h>
#include "fonction.h" #include "fonction.h"
#define CYCLE 10000L #define CYCLE 100000L
int seconde=0, minute=0, seconde_actuel, old_seconde; unsigned long int old_seconde;
char timer[6]; char timer[6];
int pos_x[2400], pos_y[2400], old_x[2400], old_y[2400]; int pos_x[2400], pos_y[2400], old_x[2400], old_y[2400];
@ -64,9 +64,9 @@ int main(){
/*creation de la scene du jeu*/ /*creation de la scene du jeu*/
EffacerEcran(CouleurParComposante(0,0,0)); EffacerEcran(CouleurParComposante(0,0,0));
DessinerScene(segment, serpent, pomme);
suivant=Microsecondes()+CYCLE; suivant=Microsecondes()+CYCLE;
old_seconde=(suivant/1000000)%10; old_seconde=(suivant/1000000)%10;
DessinerScene(segment, serpent, pomme);
/*Boucle Principale du Programme*/ /*Boucle Principale du Programme*/
while(go_on){ while(go_on){
@ -77,7 +77,7 @@ int main(){
Controle(direction); Controle(direction);
if (pause==1){ if (pause==1){
Timer(suivant); Timer(suivant, old_seconde);
Collision(segment); Collision(segment);
Update_Vitesse(vitesse); Update_Vitesse(vitesse);
Update_Segment(segment); Update_Segment(segment);

View File

@ -2,7 +2,7 @@
#include <stdio.h> #include <stdio.h>
#include <graph.h> #include <graph.h>
#include "fonction.h" #include "fonction.h"
#define LIGNE 40 #define LIGNE 34
#define COLONNE 58 #define COLONNE 58
#define TAILLE_CASE 20 #define TAILLE_CASE 20
@ -37,7 +37,7 @@ void DessinerScene(int segment, int serpent, int pomme){
posx = TAILLE_CASE; posx = TAILLE_CASE;
} }
snprintf(timer,6,"%02d:%02d", minute, seconde); snprintf(timer,6,"%02d:%02d", 0, 0);
ChoisirCouleurDessin(CouleurParComposante(255,255,255)); ChoisirCouleurDessin(CouleurParComposante(255,255,255));
EcrireTexte(10,760,timer,2); EcrireTexte(10,760,timer,2);
@ -66,21 +66,6 @@ void MenuDebut(){
EcrireTexte(290,400,"Appuyer sur Fleche de Droite pour lancer le jeu",2); EcrireTexte(290,400,"Appuyer sur Fleche de Droite pour lancer le jeu",2);
} }
/*création du Menu de Fin*/
void MenuDeFin(int Nbr){
EffacerEcran(CouleurParComposante(0,0,0));
imageMenu=ChargerSprite("IMG/menu1.png");
AfficherSprite(imageMenu,0,0);
ChoisirCouleurDessin(CouleurParComposante(0,0,0));
EcrireTexte(500,100,"Game Over", 2);
snprintf(score,15,"Score : %04d", Nbr);
EcrireTexte(500,200,score,2);
snprintf(timer,14,"Temps : %02d:%02d", minute, seconde);
EcrireTexte(490,300,timer,2);
EcrireTexte(410,500,"Appuyer sur Q pour quitter",2);
/*EcrireTexte(350,600,"Appuyer sur R pour relancer une partie",2);*/
}
/*Apparition aléatoire des pommes*/ /*Apparition aléatoire des pommes*/
void Pomme(int pomme){ void Pomme(int pomme){
for (pp = 0; pp < 5; ++pp) { for (pp = 0; pp < 5; ++pp) {

View File

@ -131,11 +131,9 @@ void Update_Serpent(int direction, int segment, int tete_up, int tete_down, int
/*Fonction pour détécter si le serpent se touche lui même*/ /*Fonction pour détécter si le serpent se touche lui même*/
void Collision(int segment){ void Collision(int segment){
int i=1; int i=1;
if(seconde!=0 || minute!=0){
for(i=1; i<segment;i++){ for(i=1; i<segment;i++){
if (pos_x[0]==pos_x[i] && pos_y[0]==pos_y[i]){ if (pos_x[0]==pos_x[i] && pos_y[0]==pos_y[i]){
go_on=0; go_on=0;
} }
} }
} }
}

View File

@ -4,8 +4,11 @@
#include "fonction.h" #include "fonction.h"
#define CYCLE 100000L #define CYCLE 100000L
int seconde=0, minute=0, seconde_actuel=0;
int imageMenuFin;
/*Fonction pour calculer le temps*/ /*Fonction pour calculer le temps*/
void Timer(unsigned long int suivant){ void Timer(unsigned long int suivant, unsigned long int old_seconde){
if(Microsecondes()> suivant){ if(Microsecondes()> suivant){
suivant = Microsecondes()+CYCLE; suivant = Microsecondes()+CYCLE;
seconde_actuel = (suivant/1000000)%10; seconde_actuel = (suivant/1000000)%10;
@ -39,3 +42,17 @@ void Attendre(long int microsecondes){
while (Microsecondes() < attendre){ while (Microsecondes() < attendre){
} }
} }
/*création du Menu de Fin*/
void MenuDeFin(int Nbr){
EffacerEcran(CouleurParComposante(0,0,0));
imageMenuFin=ChargerSprite("IMG/menu1.png");
AfficherSprite(imageMenuFin,0,0);
ChoisirCouleurDessin(CouleurParComposante(0,0,0));
EcrireTexte(500,100,"Game Over", 2);
snprintf(score,15,"Score : %04d", Nbr);
EcrireTexte(500,200,score,2);
snprintf(timer,14,"Temps : %02d:%02d", minute, seconde);
EcrireTexte(490,300,timer,2);
EcrireTexte(410,500,"Appuyer sur Q pour quitter",2);
}