113 lines
2.7 KiB
C
113 lines
2.7 KiB
C
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <graph.h>
|
|
|
|
int lireScore()
|
|
{
|
|
int score;
|
|
FILE* fichier = fopen("score.txt", "r");
|
|
if (fichier == NULL)
|
|
{
|
|
fprintf(stderr, "Le fichier score.txt n'existe pas. Création du fichier avec la valeur 0.\n");
|
|
|
|
score = 0;
|
|
|
|
/* Ouvrir le fichier en mode écriture pour créer le fichier s'il n'existe pas */
|
|
fichier = fopen("score.txt", "w");
|
|
if (fichier == NULL)
|
|
{
|
|
fprintf(stderr, "Erreur lors de la création du fichier score.txt\n");
|
|
return -1;
|
|
}
|
|
|
|
/* Écrire la valeur 0 par défaut */
|
|
fprintf(fichier, "%d\n", score);
|
|
|
|
fclose(fichier);
|
|
return score;
|
|
}
|
|
|
|
fscanf(fichier, "%d", &score);
|
|
fclose(fichier);
|
|
return score;
|
|
}
|
|
|
|
void sauvegarderScore(unsigned long nouveauScore)
|
|
{
|
|
FILE* fichier = fopen("score.txt", "w");
|
|
if (fichier == NULL)
|
|
{
|
|
fprintf(stderr, "Erreur lors de l'ouverture du fichier score.txt \n");
|
|
return;
|
|
}
|
|
|
|
fprintf(fichier, "%ld\n", nouveauScore);
|
|
|
|
fclose(fichier);
|
|
}
|
|
|
|
void CheckScore(unsigned long nouveauScore)
|
|
{
|
|
unsigned long scoreActuel = lireScore();
|
|
|
|
if (nouveauScore > scoreActuel || scoreActuel == 0)
|
|
{
|
|
sauvegarderScore(nouveauScore);
|
|
/* printf("Le score a été enregistré avec succès.\n"); DEBUG */
|
|
}
|
|
/* else
|
|
{
|
|
printf("Le score précédent est plus grand ou égal.\n");
|
|
} DEBUG
|
|
*/
|
|
}
|
|
|
|
void Menu()
|
|
{
|
|
char buf[100];
|
|
couleur text;
|
|
unsigned long bestscore = lireScore();
|
|
text=CouleurParComposante(78, 93, 47);
|
|
ChoisirEcran(0);
|
|
ChargerImage("./images/Menu.png",0,0,0,0,930,710);
|
|
ChoisirCouleurDessin(text);
|
|
snprintf(buf,100,"MEILLEUR SCORE : %07ld",bestscore);
|
|
EcrireTexte(420,350,buf,2);
|
|
}
|
|
|
|
void Pause()
|
|
{
|
|
ChoisirEcran(0);
|
|
ChargerImage("./images/Pause.png",0,0,0,0,930,710);
|
|
|
|
}
|
|
|
|
void PerduGUI()
|
|
{
|
|
char buf[100];
|
|
unsigned long bestscore = lireScore();
|
|
ChoisirEcran(0);
|
|
ChargerImage("./images/Perdu.png",0,0,0,0,930,710);
|
|
snprintf(buf,100,"MEILLEUR SCORE : %07ld",bestscore);
|
|
EcrireTexte(420,350,buf,2);
|
|
}
|
|
|
|
void AfficherTimerEtScore(long unsigned int *score, int minutes,int secondes) /*Afficher le temps passé et le score*/
|
|
{
|
|
char buf[100];
|
|
char buff[100]; /* Stockage du score et du timer */
|
|
couleur text;
|
|
text=CouleurParComposante(78, 93, 47);
|
|
|
|
ChoisirEcran(1);
|
|
CopierZone(2,1,0,0,930,710,0,0);
|
|
|
|
ChoisirCouleurDessin(text);
|
|
|
|
snprintf(buf,100,"TEMPS : %02d:%02d",minutes,secondes);
|
|
snprintf(buff,100,"SCORE : %07ld",*score);
|
|
EcrireTexte(60,695,buf,2);
|
|
EcrireTexte(600,695,buff,2);
|
|
|
|
CopierZone(1,0,0,0,930,710,0,0);
|
|
} |