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.