Creare un hight score per allegro.h

di Anonimizzato12429 il
11 risposte
Salve ho un piccolo problema vorrei creare un higt score con allegro cioè voglio che a ogni partita si crei un punteggio e il punteggio migliore sia il record che deve rimanere memorizzato! io ho provato a fare così
int punteggio, punteggiomax,.....;
.
.
.
 if(x==x1){punteggio++;}
if(punteggiomax<punteggio){punteggiomax=punteggio;}
.
.
.
facendo così mi crea un punteggio massimo che è uguale al punteggio perchè punteggio max non ha valore! ma se riavvio la partita voglio che punteggio max rimanga, il punteggio massimo della partita precedente così punteggiomax ha un valore iniziale

11 Risposte

  • Se riavvii il valore delle variabili si azzera ... mi sembra ovvio ...

    Per conservare i valori devi usare un supporto di memorizzazione come l'hard disk o una chiavetta. Quando termina il programma salvi il punteggio in un file, quando riparte il programma leggi il punteggio dal file ...
  • Come faccio?
  • Usi le funzioni per l'I/O su disco ... non le conosci?

    fopen, fprintf, fscanf, fclose

    ...
  • No non le ho mai usate!
  • dragons89 ha scritto:


    no non le ho mai usate!
    E' il momento di studiarle ed usarle se vuoi risolvere il problema ...
  • Come le posso usare per risolvere il mio problema?? dammi una mano...
  • Ok vediamo....
  • Ho fatto questo solo che di scrivere mi scrive perfettamente ma non riesce a leggere o meglio legge un numero tipo 4442653
    #include <stdio.h>
    #include <stdlib.h>
    #define USER_FILE "user.txt"
    int a,b,x,x1;
    .
    .
    .
    if(x==x1){a++;}
    .
    .
    .
    //scrittura
    void puntis() {
    FILE *fp;
    fp=fopen(USER_FILE,"r");
    fprintf(fp,"%d",b);
    fclose (fp);}
    
    //lettura
    void puntil() {
    FILE *fp;
    fp=fopen(USER_FILE,"r");
    fscanf(fp,"%d",b);
    if(b<a){b=a;}
    fclose (fp);
    }
    
  • Per la fscanf si usa un puntatore alla variabile

    fscanf(fp,"%d", &b)
  • Grazie 1000 ora funziona!
Devi accedere o registrarti per scrivere nel forum
11 risposte