Inform e Glulx/Inform e ancora Inform/Le estensioni (o librerie aggiuntive)/scenic.h
scenic.h
[modifica | modifica sorgente]La scenic.h (scritta da Richard Barnett, Joe Mason, Roger Firth e Stefano Gaburri), ci dà la possibilità di attribuire a un oggetto dei nomi "scenici" che estendono la descrizione di default (evitando così di dover creare un nuovo oggetto per ogni nuova descrizione). Per usarla, occorre scaricare il file estensioni_inform.zip[1], decomprimere quest’ultimo in una directory qualsiasi, andare nella directory scenic, copiare il file Italian.h [2] in "C:\Inform\libraries" (se state usando WIDE) o "C:\Programmi\Jif\lib\Base" (se state usando Jif), copiare il file scenic_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 scenic_it_test.inf in "C:\Inform" (se state usando WIDE) o "C:\Programmi\Jif\Games" (se state usando Jif). Vediamo adesso come funziona:
SCENIC_IT - TEST Un esempio di utilizzo della scenic.h Adattato alla lingua italiana da Paolo Maroncelli 030104 Traduzione commenti e istruzioni di Paolo Lucchesi 021010 Versione 1 -- Numero di serie 050813 Inform v6.30 -- Libreria 6/11 -- Infit v2.5 S Foresta La foresta 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 si stagliano alti e spettrali attraverso l'aria umida e soffocante. >esamina gli alberi Ricoperti di licheni, gli alberi non offrono nessun appiglio oltre ai rami che si trovano molti metri sopra di te. >esamina i cespugli Rovi e spine spuntano dai cespugli avviluppandosi in pericolose spire. >esamina il sottobosco L'unico colore vivo in questo scenario desolato. Il sottobosco verde smeraldo è soffice sotto i tuoi piedi. >
Qualcuno di voi si starà di sicuro chiedendo che cosa ci sia di nuovo in tutto questo. Beh, andiamo a vedere la descrizione dell’oggetto Foresta:
Object foresta "Foresta"
with description
"La foresta 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 si stagliano alti e
spettrali attraverso l'aria umida e soffocante.",
name 'foresta' 'bosco',
scenic
'albero' 'alberi' 'alti' 'spettrali' 0 "Ricoperti di
licheni, gli alberi non offrono nessun appiglio oltre
ai rami che si trovano molti metri sopra di te."
'cespugli' 'cespuglio' 'intricati' 0 "Rovi e spine spuntano
dai cespugli avviluppandosi in pericolose spire."
'sottobosco' 'terreno' 0 "L'unico colore vivo in questo
scenario desolato. Il sottobosco verde smeraldo @`e
soffice sotto i tuoi piedi."
'aria' 'umida' 'soffocante' 0 "Densa, quasi soffocante,
l'atmosfera pesante ti opprime."
'cielo' 0 "Il cielo non @`e visibile attraverso le foglie."
'ramo' 'rami' 0 NULL,
scenicnull
'lichene' 'licheni' 'spine' 'spina' 'rovo'
'rovi' 'spire' 'spira' 'colore' 'verde' 'smeraldo' 'foglia'
'foglie' 'atmosfera',
before [;
Listen: "Urla di scimmie, pipistrelli, pappagalli,
macao.";
],
has light female;
State dunque iniziando a capire i grandi vantaggi che porta questa libreria? Di default, per ottenere tutte queste descrizioni dovremmo creare un oggetto per ognuna di esse (dovremmo cioè creare un oggetto cielo, albero, cespuglio e così via) mentre qui basta associare dei nomi "scenici" fatti poi seguire da uno zero. Osserviamo anche un’altra cosa:
>esamina le foglie Non è importante ai fini del gioco.
Normalmente, la risposta di sistema sarebbe "Non vedi nulla del genere." (cosa non vera, poiché è alquanto improbabile che un albero non abbia almeno qualche foglia) ma anche qui la libreria ci viene in aiuto; basta far seguire lo zero da NULL o, eventualmente, usare la proprietà scenicnull (che non è di fatto obbligatoria ma, come potete ben vedere, estremamente utile). Ci sono ancora due ultime cose da notare:
.
.
.
[ Initialise;
location = foresta;
];
Global ScenicFlag=4;
Constant ScenicError NULL;
Include "scenic_it";
Include "ItalianG";
Impostando la variabile globale ScenicFlag a 4, facciamo sì che quando il giocatore esamina il titolo della stanza:
>esamina la foresta La foresta 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 xxxisi stagliano alti e spettrali attraverso l'aria umida e soffocante.
non appare il classico messaggio di default ("Non è importante ai fini del gioco.") ma la descrizione della stanza stessa. Definendo, infine, la costante ScenicError e impostandola a NULL facciamo in modo che, al verificarsi di un "errore scenico", segua il messaggio di default ("Non è importante ai fini del gioco."). Ulteriori informazioni potete comunque trovarle all’interno della libreria stessa (che potete aprire con un normalissimo text-editor).
Note
[modifica | modifica sorgente]- ↑ 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).
- ↑ Per usare correttamente la scenic_it.h è necessario sostituire il file Italian.h originale di Infit 2.5 con questo.