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 :
Et voici comment j'affiche mon temps :
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); }
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).
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));
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 :
Mais bien évidemment j'aimerai metre a la place de
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));
le temps qui se trouve dans le fichier.
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
Quelqu'un peut m'aider ?
Partager