Inform e Glulx/Inform e ancora Inform/Le estensioni (o librerie aggiuntive)/fnote.h

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

fnote.h[modifica]

L'fnote.h (scritta da L. Ross Raszewski), ci permette d'integrare delle note a pie' di pagina nel gioco. Per usarla, occorre scaricare il file estensioni_inform.zip[1], decomprimere quest’ultimo in una directory qualsiasi, andare nella directory fnote, copiare il file fnote_it.h in "C:\Inform\libraries" (se state usando WIDE) o "C:\Programmi\Jif\lib\Contrib" (se state usando Jif) e, infine, copiare il file fnote_it_test.inf in "C:\Inform" (se state usando WIDE) o "C:\Programmi\Jif\Games" (se state usando Jif). Vediamo adesso come funziona:

FNOTE_IT - TEST
Un esempio di utilizzo dell'fnote_it.h 
Traduzione commenti e istruzioni di Paolo Lucchesi

Versione 1 -- Numero di serie 050813
Inform v6.30 -- Libreria 6/11  --  Infit v2.5    S

Foresta
La foresta [Nota 1] sembra stendersi in ogni direzione. Attorno a te i cespugli, intricati in modo quasi impenetrabile, combattono silenziosamente per il possesso del sottobosco, mentre sopra di te gli alberi [Nota 2] si stagliano alti e spettrali attraverso l'aria umida e soffocante.

>

Come potete facilmente vedere, nella descrizione della foresta appaiono due note racchiude tra le parentesi quadre. Ecco allora come leggerle:

>nota 1
[Nota 1]
Accidenti, che caldo. Nessuno di voi ha un ventilatore da prestarmi?

>nota 2
[Nota 2]
Altissimi e con i tronchi nodosi! Ma dove diavolo sono finito?

Bello, vero? Proviamo allora ad andare verso est:

>e

Piramide sepolcrale
La piramide sepolcrale [Nota 3] è ormai ridotta a un cumulo di materiali da costruzione. Alcuni gradini scolpiti nella nuda roccia portano giù, nell'oscurità.

>nota 3
[Nota 3]
Qualcuno di voi è superstizioso? Io no...

>nota 4
La nota [4] non è stata menzionata.

>nota 2
[Nota 2]
Altissimi e con i tronchi nodosi! Ma dove diavolo sono finito?

>

Se vogliamo leggere delle note non ancora menzionate (non ancora, cioè, apparse nel gioco), la libreria ce lo impedisce. In compenso, però, è possibile (giustamente) leggere le note già citate da un punto qualsiasi dell’avventura. Per quanto riguarda invece il suo utilizzo all’interno di un listato ecco quello che si deve fare:

[ Initialise...
.
.
.

[ PrintNote n;
     switch(n) {
         1: "Accidenti, che caldo. Nessuno di voi ha un ventilatore da 
             prestarmi?";
         2: "Altissimi e con i tronchi nodosi! Ma dove diavolo sono 
             finito?";
         3: "Qualcuno di voi @`e superstizioso? Io no...";
     };
];

Include "ItalianG";
Constant MAX_FOOTNOTES 5;
Include "fnote_it";

La libreria deve essere inclusa dopo l’ItalianG.h, ma prima devono essere definiti il numero massimo di note da visualizzare (dichiarando la costante MAX_FOOTNOTES con un valore che può andare da un minimo di 1 a un massimo 256) e i testi delle note stesse (con la funzione PrintNote che, come credo abbiate già capito, deve essere sempre presente). Le note devono infine essere richiamate con l’istruzione (note) n dalla descrizione di un qualsiasi oggetto:

Object  foresta "Foresta"
  with  name 'foresta' 'bosco',
        description [;
            "La foresta", (note) 1, " sembra stendersi in ogni 
             direzione. Attorno a te i cespugli, intricati in modo 
             quasi impenetrabile, combattono silenziosamente per il 
             possesso del sottobosco, mentre sopra di te gli alberi", 
             (note) 2, " si stagliano alti e spettrali attraverso 
             l'aria umida e soffocante.";
        ],
        e_to piramide,
        before [; 
            Listen: "Urla di scimmie, pipistrelli, pappagalli, 
                     macao."; 
            ],
  has   light female;

Le note, inoltre, sono sempre numerate in sequenza ascendente, indipendentemente dall'ordine in cui sono chiamate.

Note[modifica]

  1. Questo file (così come listati_inform.zip) è soggetto a continui aggiornamenti da parte del sottoscritto. Quindi, di tanto in tanto, scaricatelo per verificare al suo interno i nuovi contenuti (se presenti).