Inform e Glulx/Inform e ancora Inform/Il tempo: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: ==Il tempo== Andiamo ora avanti con la gestione del tempo tramite l’'''orologio interno''' di Inform. Per attivarlo occorre inserire, all’inizio del listato, l’istruzione <tt>Sta...
 
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
Riga 1:
==Il tempo==
Andiamo ora avanti con la gestione del tempo tramite l’'''orologio interno''' di Inform. Per attivarlo occorre inserire, all’inizio del listato, l’istruzione <ttcode>Statusline time</ttcode>:
 
Statusline time;
Riga 9:
.
 
In questo modo, il valore del tempo appare automaticamente sulla status line. Dobbiamo anche decidere a che ora farlo partire, inserendo nella funzione <ttcode>Initialise</ttcode> l’istruzione <ttcode>Settime</ttcode> secondo la seguente formula:
 
{| align=center width=50% border=0
| align=center|<ttcode>SetTime (60 x [ore] + [minuti], [avanzamento]);</ttcode>
|}
 
Riga 29:
[[Immagine:Inform_e_Glulx-507.gif|centre|625 px|]]
 
Il parametro <ttcode>avanzamento</ttcode> stabilisce, come dice il nome stesso, di quanti minuti il tempo deve avanzare per ogni mossa effettuata dal giocatore (in questo esempio avanza di un minuto per ogni mossa effettuata). Volendo invece inizializzare la status line con questo parametro:
 
[DrawStatusLine width;
Riga 53:
];
 
ecco quello che si deve fare. Se vogliamo invece fare in modo che a una data ora si verifichi un certo evento, basta testare la variabile di libreria <ttcode>the_time</ttcode> all’ora desiderata:
 
[ Initialise;
Riga 81:
];
 
Il test viene effettuato all’interno del daemon <ttcode>Timerdaemon</ttcode>. Il valore della variabile di libreria <ttcode>the_time</ttcode> è il tempo stesso che, come abbiamo già detto, s'incrementa di uno a ogni mossa effettuata dal giocatore:
 
{| style="width:100%;" class="wikitable"
|<ttcode>Il Grande Altopiano<br>
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata.
La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.<br><br>
Riga 104:
Sei in una sala di pietra oscura e profonda, larga circa dieci metri. Un raggio di sole, proveniente dalla cima della scalinata, la illumina diffusamente, ma le ombre del livello più basso rivelano dei passaggi verso est e sud, che conducono verso la più profonda oscurità del Tempio. A nord, una stretta e illuminata fenditura nella roccia funge da entrata<br><br>
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
></ttcode>
|}
 
Riga 143:
 
{| style="width:100%;" class="wikitable"
|<ttcode>Il Grande Altopiano<br>
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata.
La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.<br><br>
Riga 159:
Il tempo passa.<br><br>
>esamina l'orologio<br>
Un orologio da polso a carbone che segna le ore 8:03.</ttcode>
|}
 
L’attributo <ttcode>worn</ttcode> fa sì che l’orologio sia già indossato dal giocatore (come potete facilmente vedere dall’elenco dell’inventario). Inoltre, per evitare che l’ora venga visualizzata anche sulla statusline basta inizializzare quest’ultima eliminando le istruzioni <ttcode>width = width – 15</ttcode>, <ttcode>MoveCursor (1, width); print (string) TIME__TX</ttcode> e <ttcode>LanguageTimeOfDay(sline1, sline2)</ttcode> dalla funzione <ttcode>DrawStatusLine</ttcode>. Se invece si vuole visualizzare solo l’ora (come in Flamel di Francesco Cordella), basta eliminare l’istruzione <ttcode>print (string) TIME__TX</ttcode> lasciando inalterato tutto il resto. Se si vuole infine cambiare la parola <ttcode>Tempo</ttcode> in <ttcode>Ora</ttcode> basta sostituire l’istruzione <ttcode>print (string) TIME__TX</ttcode> con <ttcode>print "Ora: "</ttcode>.
 
== Note ==