Bonjour,

J'ai un petit soucis avec un système de higscore que je voudrai mettre au point.

Dans mon jeu codé en C avec la libGE (une lib pour PSP) j'ai réussi à afficher le temps min:sec:ms sur mon jeu mais maintenant je veux faire un système de high score.

Je me suis penché sur un fopen du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
FILE* fichier = NULL;
 
    fichier = fopen("highscore.txt", "w");
 
    if (fichier != NULL)
    {
        fprintf(fichier,"%s", fichier);
    }
Et voici comment j'affiche mon temps :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int ms = timer->ellapsed / 1000 - (timer->hours*3600000+timer->minuts*60000+timer->seconds*1000);
char temps[64] = "";
sprintf(temps, "Temps \t\t:\t\t %01d\t.\t%02d\t.\t%02d", timer->minuts, timer->seconds,ms);
geFontPrintScreen(240, 10, font, temps, RGB(255, 255, 255));
Sauf que j'aimerai qu'il y est deux temps en faite car quand on fini un objectif, le temps s'arrete et une comparaison se fait avec le temps du fichier txt (si il y en a un, et si il y en a pas ca l'ecrit).

Si le temps et plus petit, alors on l'écrit dans le fichier (on écrase le précèdent).
Si le temps est plus grand, on écrit pas dans le fichier.

Voilà a l'heure actuelle comment j'écris le score et le high score :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
sprintf(temps, "Your \tscore \t\t:\t\t %01d\t.\t%02d\t.\t%02d", timer->minuts, timer->seconds,ms);
geFontPrintScreen(157, 170, font, temps, RGB(255, 255, 255));
sprintf(temps, "Your \tHigh\t Score \t\t:\t\t %01d\t.\t%02d\t.\t%02d", timer->minuts, timer->seconds,ms);
geFontPrintScreen(157, 219, high, temps, RGB(255, 0, 0));
Mais bien évidemment j'aimerai metre a la place de

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Your \tHigh\t Score \t\t:\t\t %01d\t.\t%02d\t.\t%02d
le temps qui se trouve dans le fichier.

Quelqu'un peut m'aider ?