#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 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(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,"BEST SCORE : %07ld",bestscore);
	EcrireTexte(420,350,buf,2);
}