Inform e Glulx/Inform e ancora Inform/I labirinti e i nomi plurali: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: sostituzione tag obsoleti |
m Bot: corregge Tag annidati male |
||
Riga 7:
.
Object -> sunlight "raggio di sole"...
Class Maze
with short_name "Labirinto",
out_to "Sembra facile, vero?",
has light;
Maze Inner1_Web
with describe
Riga 20:
n_to Inner1_Web, e_to Inner1_Web, nw_to Inner1_Web,
ne_to Inner1_Web, sw_to Inner1_Web, se_to Inner1_Web;
Maze Inner2_Web
with describe
Riga 28:
w_to Inner2_Web, s_to Inner2_Web, nw_to Inner2_Web,
sw_to Inner2_Web, ne_to Inner2_Web, se_to Inner2_Web;
Maze Inner3_Web
with describe
Riga 38:
La prima cosa che possiamo subito notare è che questo è un labirinto a tre livelli o, per dirla in parole più semplici, a tre stanze. Come potete però facilmente osservare, quasi tutte le direzioni puntano alle locazioni di appartenenza. Nella locazione <code>Inner1_Web</code>, ad esempio, il giocatore cambia stanza solo se si dirige o a sud (ritornando nella <code>Sala Quadrata</code>), oppure procedendo verso ovest (spostandosi alla locazione <code>Inner2_Web</code>, il secondo livello del labirinto). Se cerca invece di andare in tutte le altre direzioni, rimane sempre lì dov’è:
<pre>La Sala Quadrata
Sei in una sala di pietra oscura e profonda, larga circa dieci metri. Un raggio di sole, proveniente dalla cima della scalinata, la illumina diffusamente, ma le ombre del livello più basso rivelano dei passaggi verso est e sud, che conducono verso la più profonda oscurità del Tempio. Un passaggio, stretto e illuminato conduce a nord.
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.
>n
Labirinto
Sei in un labirinto di piccoli passaggi tutti uguali.
>n
Labirinto
>ne
Labirinto
>o
Labirinto
Sei in un labirinto di stretti passaggi, tutti uguali.
>
</pre>
Questo "trucco" fa sì che il giocatore abbia l’impressione di trovarsi in una miriade di stanze (un labirinto appunto). Ma occorre anche notare un’altra cosa: come mai le due locazioni si chiamano entrambe <code>Labirinto</code> anziché <code>Inner1_Web</code> e <code>Inner2_Web</code>?
Il merito va attribuito all’istruzione <code>short_name</code> della classe <code>Maze</code>. In poche parole, i nomi di tutte le locazioni appartenenti a questa classe vengono stampati a video con la scritta <code>Labirinto</code>; tuttavia, a livello di codice restano sempre gli stessi:
Line 77 ⟶ 86:
Class Maze...
Class Bar
with name 'lingotto' 'lingotti//p',
Line 84 ⟶ 93:
description "A prima vista sembra essere d'oro, ma osservandolo
meglio scopri che @`e di ottone.";
Maze Inner1_Web...
Maze Inner2_Web...
Maze Inner3_Web...
Bar "lingotto" Inner3_web;
Bar "lingotto" Inner3_web;
Line 96 ⟶ 105:
Così facendo, se il giocatore riesce a raggiungere il terzo livello del labirinto trova due lingotti (apparentemente d’oro):
<pre>La Sala Quadrata
Sei in una sala di pietra oscura e profonda, larga circa dieci metri. Un raggio di sole, proveniente dalla cima della scalinata, la illumina diffusamente, ma le ombre del livello più basso rivelano dei passaggi verso est e sud, che conducono verso la più profonda oscurità del Tempio. A nord, una stretta e illuminata fenditura nella roccia funge da entrata
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.
>n
Labirinto
Sei in un labirinto di piccoli passaggi tutti uguali.
>o
Labirinto
Sei in un labirinto di stretti passaggi, tutti uguali.
>n
Labirinto
Sei in un labirinto di tortuosi passaggi, tutti uguali.
Puoi vedere
>prendi un lingotto
Preso.
>g
Labirinto
Sei in un labirinto di tortuosi passaggi, tutti uguali.
Puoi vedere un lingotto qui.
>i
Stai portando:
un dizionario maya di Waldeck
una lampada al sodio
la mappa di Quintana Roo
>prendi un lingotto
Preso.
>i
Stai portando:
due lingotti
un dizionario maya di Waldeck
una lampada al sodio
la mappa di Quintana Roo
</pre>
Per Inform ogni lingotto è un oggetto a sé stante, e questo è possibile grazie all’istruzione <code>bar "lingotto" Inner3_web</code> ripetuta due volte. È chiaro allora che per avere <code>n</code> lingotti bisogna ripetere <code>n</code> volte questa istruzione. All’interno della classe <code>Bar</code>, l’unica vera novità è il nome <code>'lingotti//p'</code>, un modo per dire a Inform che l’oggetto in questione può essere chiamato al singolare (<code>lingotto</code>) o al plurale (<code>lingotti</code>):
<pre>Labirinto
Sei in un labirinto di tortuosi passaggi, tutti uguali.
Puoi vedere due lingotti qui.
>prendi i lingotti
lingotto: Preso.
lingotto: Preso.
>posa i lingotti
lingotto: Posato.
lingotto: Posato.
>prendi il lingotto
Preso.
>
</pre>
In poche parole, senza quel nome il giocatore non può chiamarlo al plurale:
<pre>Labirinto
Sei in un labirinto di tortuosi passaggi, tutti uguali.
Puoi vedere due lingotti qui.
>prendi i lingotti
Non vedi nulla del genere.
>prendi il lingotto
Preso.
>g
Labirinto
Sei in un labirinto di tortuosi passaggi, tutti uguali.
Puoi vedere un lingotto qui.
>
</pre>
con tutte le conseguenze del caso.
|