Salve ragazzi! Ultimamente sto ordinando i miei programmini e procedurizzando qualunque cosa possa essere procedurizzata, e mi sono reso conto che in alcune procedure servono variabili che, anche nelle prossime chiamate (ad esempio una chiamata in un ciclo) richiedono una variabile con il valore modificato precedentemente. Ora, tecnicamente, questo non e' un problema se si crea una variabile globale o nel main e la si passa nella chiamata, ma questo inquina visibilmente il programma, perche' molte sono variabili che fuori dalla procedura stessa non servono a niente.
Quindi, mi chiedevo se c'e' un modo per creare una variabile in una procedura e memorizzare il suo risultato, in modo che la variabile una volta modificata possa essere richiamata nella stessa procedura senza l'appoggio di una variabile esterna.
Ho pensato a memorizzarla in dei file, ma lo trovo molto ingombrante.
Esempio:
Una procedura deve controllare che i millisecondi passati da una determinata azione siano 2000 (facciamo finta che sia per controllare lo sparo di un proiettile).
Nella procedura ci sara' scritto qualcosa del genere:
milliseconds = tempoAttuale - tempoSparato;
if (milliseconds >= 1000)
{
if (tastoSpremuto)
{
spara;
tempoSparato = tempoAttuale;
}
}
La variabile tempoAttuale e tempoSparato devono essere memorizzate, perche' la procedura non e' pensata per "bloccarsi" finche' i millisecondi sono maggiori di 1000 e il tasto e' premuto, ma e' pensata per venir "letta" in un ciclo come se fosse un normale if. Non so se mi sono spiegato bene...