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

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

smartcantgo_it.h[modifica]

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]

  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).
  2. Tutte quelle locazioni, cioè, in cui siano previste delle direzioni; le altre, invece, si definiscono normalmente.