2023-12-21 14:32:55 +01:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <graph.h>
|
|
|
|
|
2023-12-23 16:00:48 +01:00
|
|
|
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 pour écriture\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");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
printf("Le score précédent est plus grand ou égal. Aucun changement effectué.\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void Menu()
|
2023-12-21 14:32:55 +01:00
|
|
|
{
|
2023-12-22 17:23:26 +01:00
|
|
|
char buf[100];
|
|
|
|
couleur text;
|
2023-12-23 16:00:48 +01:00
|
|
|
unsigned long bestscore = lireScore();
|
2023-12-22 17:23:26 +01:00
|
|
|
text=CouleurParComposante(78, 93, 47);
|
2023-12-21 14:32:55 +01:00
|
|
|
ChoisirEcran(0);
|
|
|
|
ChargerImage("./images/Menu.png",0,0,0,0,930,710);
|
2023-12-22 17:23:26 +01:00
|
|
|
ChoisirCouleurDessin(text);
|
2023-12-23 16:00:48 +01:00
|
|
|
snprintf(buf,100,"BEST SCORE : %07ld",bestscore);
|
|
|
|
EcrireTexte(420,350,buf,2);
|
2023-12-21 14:32:55 +01:00
|
|
|
}
|
|
|
|
|
2023-12-23 16:00:48 +01:00
|
|
|
void Pause()
|
2023-12-22 17:23:26 +01:00
|
|
|
{
|
2023-12-21 14:32:55 +01:00
|
|
|
ChoisirEcran(0);
|
|
|
|
ChargerImage("./images/Pause.png",0,0,0,0,930,710);
|
2023-12-23 16:00:48 +01:00
|
|
|
|
2023-12-21 14:32:55 +01:00
|
|
|
}
|
|
|
|
|
2023-12-23 16:00:48 +01:00
|
|
|
void PerduGUI()
|
2023-12-21 14:32:55 +01:00
|
|
|
{
|
2023-12-22 17:23:26 +01:00
|
|
|
char buf[100];
|
2023-12-23 16:00:48 +01:00
|
|
|
unsigned long bestscore = lireScore();
|
2023-12-21 14:32:55 +01:00
|
|
|
ChoisirEcran(0);
|
2023-12-22 17:23:26 +01:00
|
|
|
ChargerImage("./images/Perdu.png",0,0,0,0,930,710);
|
2023-12-23 16:00:48 +01:00
|
|
|
snprintf(buf,100,"BEST SCORE : %07ld",bestscore);
|
|
|
|
EcrireTexte(420,350,buf,2);
|
2023-12-21 14:32:55 +01:00
|
|
|
}
|