Inform e Glulx/Inform e ancora Inform/Le estensioni (o librerie aggiuntive)/smartcantgo it.h
smartcantgo_it.h
[modifica | modifica sorgente]La smartcantgo_it.h (scritta da David Wagner e Roger Firth), può essere usata con la proprietà cant_go di una locazione per stampare a video le uscite possibili anziché il messaggio standard "Non puoi andare in quella direzione.". Per usarla, occorre scaricare il file estensioni_inform.zip[1], decomprimere quest’ultimo in una directory qualsiasi, andare nella directory smartcantgo, copiare il file smartcantgo_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 smartcantgo_it_test.inf in "C:\Inform" (se state usando WIDE) o "C:\Programmi\Jif\Games" (se state usando Jif). Vediamo adesso come funziona:
SMARTCANTGO_IT - TEST Un esempio di utilizzo della smartcantgo_it.h Versione 1 -- Numero di serie 050823 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. >o Puoi andare solo a est. >e Piramide sepolcrale La piramide sepolcrale è ormai ridotta a un cumulo di materiali da costruzione. Alcuni gradini scolpiti nella nuda roccia portano giù, nell'oscurità. >n Puoi andare solo a ovest o giù. >giù Le macerie ostruiscono il passaggio dopo appena pochi passi. >o Foresta >
Molto utile, non trovate? Ecco ora il listato d’esempio:
Constant Story "SMARTCANTGO_IT - TEST";
Constant Headline
"^Un esempio di utilizzo della smartcantgo_it.h^^";
Include "Parser";
Include "smartcantgo_it";
Include "VerbLib";
Include "replace";
! ------------------------------------------------------------------
Class Room
with cant_go [; SmartCantGo(); ],
has light;
Room foresta "Foresta"
with name 'foresta' 'bosco',
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.";
],
e_to piramide
before [;
Listen: "Urla di scimmie, pipistrelli, pappagalli,
macao.";
],
has female;
Room piramide "Piramide sepolcrale",
with name 'piramide' 'sepolcrale',
description [;
"La piramide sepolcrale @`e ormai ridotta a un cumulo di
materiali da costruzione. Alcuni gradini scolpiti nella
nuda roccia portano gi@`u, nell'oscurit@`a.";
],
w_to foresta,
d_to [; "Le macerie ostruiscono il passaggio dopo appena pochi
passi."; ],
has female;
! ------------------------------------------------------------------
[ Initialise;
location = foresta;
];
! ------------------------------------------------------------------
Include "ItalianG";
Si deve definire una classe che contenga l’istruzione cant_go [; SmartCantGo(); ] da associare poi a tutte quelle locazioni in cui si voglia che la libreria "operi"[2]. Tutto qui. Se siamo al buio, viene ripristinato il messaggio di sistema e se non ci sono uscite viene stampato a video il messaggio "Non ci sono uscite.". Se abbiamo invece bisogno di associare un nostro messaggio alla proprietà cant_go di una certa locazione, basta semplicemente definirlo all’interno di quest’ultima, poiché la libreria se ne "accorge" e gli dà la priorità massima.
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).
- ↑ Tutte quelle locazioni, cioè, in cui siano previste delle direzioni; le altre, invece, si definiscono normalmente.