Inform e Glulx/Le basi di Inform/Variabili numeriche e caratteri speciali

Wikibooks, manuali e libri di testo liberi.
Indice del libro

All’interno di un listato, vengono definiti dei valori che cambiano a seconda del verificarsi o meno di determinate condizioni: una variabile può essere paragonata ad una sorta di contenitore (per esempio una scatola) che contiene tutti questi valori. Ecco un esempio che illustra quanto detto:

! Esempio sull'utilizzo delle variabili numeriche 

Include "Parser"; Include "VerbLib"; Include "Replace";
[ Funz_princip; ClearScreen(); ! pulisce lo schermo Var_num(); print "^Premi un tasto per uscire^"; KeyCharPrimitive(); ! legge un carattere dalla tastiera ];
[ Var_num numb; numb = 0; print "La variabile ~numb~ contiene il valore ", numb , ".^"; numb = 1; print "Adesso la variabile ~numb~ contiene il valore ", numb ,".^"; ];
[ Initialise; Funz_princip(); quit; ! fine del programma ];
Include "ItalianG";

Nella funzione Var_num viene definita una variabile numb (che in questo caso funge anche da argomento della funzione) alla quale viene dapprima assegnato, tramite l’operatore =, il valore "0" e successivamente il valore "1"[1]

In Inform, le variabili vengono usate in genere per la gestione dei numeri e dei singoli caratteri. Di default, il range per un valore numerico valido da assegnare ad una variabile varia da –32768 a 32767. Questo significa che è possibile assegnare un valore compreso tra -32768 e 32767, ma non minore di -32768 e non maggiore di 32767. Ricordatevi inoltre, che prima di essere utilizzata, una variabile deve sempre avere assegnato un valore iniziale (deve cioè essere inizializzata) perché, nel momento in cui viene definita, il valore in essa contenuto può essere un numero qualsiasi che spesso e volentieri è al di fuori del range consentito. La conseguenza di tutto questo potrebbe essere davvero drastica, perché per il compilatore non ci sarebbe alcun tipo d’errore, ma il valore sarebbe completamente sballato[2].

In Inform esistono anche dei caratteri speciali che vengono stampati in un modo un po’ diverso da quello usuale[3]. Nella riga:

print "Adesso la variabile ~numb~ contiene il valore ", numb ,".^"; 

ce ne sono ben due:

  • la tilde (~), che stampa a video le virgolette; si ottiene tenendo premuto il tasto Alt sinistro + i tasti 1, 2 e 6 del tastierino numerico premuti in rapida successione. Per stampare invece la tilde vera e propria occorre scrivere @@126 (ad esempio print "@@126";);
  • il segno di ritorno a capo o di Newline (^); se non si dispone di una tastiera italiana, questo carattere è ottenibile tenendo premuto il tasto Alt sinistro + i tasti 9 e 4 del tastierino numerico premuti in rapida successione. Per stampare invece il carattere "^" vero e proprio occorre scrivere @@94.

Ne esistono ovviamente anche degli altri. I più usati sono[4]:

  • @^ che pone l’accento circonflesso sulle lettere a, e, i, o, u, A, E, I, O, U (es.: print "@^e";);
  • @c che pone la cediglia sulle lettere c o C;
  • @: che pone la dieresi sulle lettere a, e, i, o, u, A, E, I, O, U;
  • @' che pone l’accento acuto sulle lettere a, e, i, o, u, A, E, I, O, U (es.: print "perch@'e";);
  • @` che pone l’accento grave sulle lettere a, e, i, o, u, A, E, I, O, U (es.: print "@`e";);
  • @@92 che stampa a video il carattere \ (in inglese backslash);
  • @@64 per stampare a video il carattere @;
  • @LL per stampare a video il segno £;
  • la parentesi graffa aperta { che si ottiene tenendo premuto il tasto ALT sinistro + i tasti 1, 2, 3 del tastierino numerico premuti in rapida successione;
  • la parentesi graffa chiusa } che si ottiene tenendo premuto il tasto ALT sinistro + i tasti 1, 2, 5 del tastierino numerico premuti in rapida successione.

Note[modifica]

  1. Cliccate qui per scaricare il listato di questo esercizio (il file 3.04.inf).
  2. Provate come esercizio a sostituire il valore "numb = 1" con "numb = 1234567" per vedere cosa succede.
  3. Un elenco completo dei caratteri stampabili è disponibile alla tabella 2B dell’Inform Designer Manual di Graham Nelson. Jif, inoltre, dà la possibilità di utilizzare i caratteri normali (quelli cioè codificati nel codice ASCII) anziché quelli codificati nel codice ZSCII (ad esempio è al posto di @`e); questo è possibile tramite il mapping dei caratteri, una delle tante caratteristiche che lo differenziano da tutti gli altri programmi del genere.
  4. Inform supporta anche i caratteri Unicode (come ad esempio il simbolo dell’euro "€") che non fanno parte della tabella citata nella nota 3. Ulteriori informazioni potete trovarle al capitolo 5.