Correction Affichage, Ajout Best Score par lecture de ficheirs
This commit is contained in:
82
gui.c
82
gui.c
@@ -2,35 +2,91 @@
|
||||
#include <stdio.h>
|
||||
#include <graph.h>
|
||||
|
||||
void Menu(unsigned long *bestscore)
|
||||
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()
|
||||
{
|
||||
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,"BEST SCORE : %07ld",*bestscore);
|
||||
EcrireTexte(450,470,buf,2);
|
||||
snprintf(buf,100,"BEST SCORE : %07ld",bestscore);
|
||||
EcrireTexte(420,350,buf,2);
|
||||
}
|
||||
|
||||
void Pause(unsigned long *bestscore)
|
||||
void Pause()
|
||||
{
|
||||
char buf[100];
|
||||
couleur text;
|
||||
text=CouleurParComposante(78, 93, 47);
|
||||
ChoisirEcran(0);
|
||||
ChargerImage("./images/Pause.png",0,0,0,0,930,710);
|
||||
ChoisirCouleurDessin(text);
|
||||
snprintf(buf,100,"BEST SCORE : %07ld",*bestscore);
|
||||
EcrireTexte(450,300,buf,2);
|
||||
|
||||
}
|
||||
|
||||
void PerduGUI(unsigned long *bestscore)
|
||||
void PerduGUI()
|
||||
{
|
||||
char buf[100];
|
||||
unsigned long bestscore = lireScore();
|
||||
ChoisirEcran(0);
|
||||
ChargerImage("./images/Perdu.png",0,0,0,0,930,710);
|
||||
snprintf(buf,100,"BEST SCORE : %07ld",*bestscore);
|
||||
EcrireTexte(450,250,buf,2);
|
||||
snprintf(buf,100,"BEST SCORE : %07ld",bestscore);
|
||||
EcrireTexte(420,350,buf,2);
|
||||
}
|
||||
Reference in New Issue
Block a user