Inform e Glulx/RUINS, l'avventura comincia/La fine di RUINS è giunta (ma con Inform siete solo all'inizio): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m tag obsoleti
Gian BOT (discussione | contributi)
Riga 1:
''Vi dirigete verso l’alto e vi ritrovate dentro la gabbia di ferro (questa volta senza scheletri). Dal pavimento della gabbia, un pozzo di terracotta scende nella cripta, ma voi non ne volete assolutamente sapere di tornare là sotto; c’è troppa umidità, che fa solo male alle vostre povere ossa. Uscite dalla gabbia e spingete la lampada al sodio verso nordovest. Dovete fare presto, perché la luce da essa emessa diventa sempre più debole: procedete allora verso nord più velocemente che potete, fino poi a ritrovarvi nella Sala Quadrata. Qui, la lampada al sodio si affievolisce e improvvisamente si spegne. Siete letteralmente disperati: la vostra cara lampada è morta e non potete neanche farle un funerale. La raccogliete con le lacrime agli occhi e salite finalmente verso la superficie. Vi dirigete verso la vostra cassa da imballaggio, depositate tutti i tesori che avete trovato e vi lasciate infine cadere, esausti come non mai, per terra.''<br>
''Un macao dalla coda rossa fluttua giù dalle cime degli alberi, con le piume appesantite dalla pioggia recente. Il battito delle sue ali è quasi assordante, e delle pietre crollano una sull'altra. Come il cielo si schiarisce, una luna crescente sorge sopra una tranquilla giungla. È la fine di marzo del 1938, ed è l'ora di tornare a casa...''
 
Riga 78:
Per quanto riguarda la proprietà <code>inside_description</code>, se la variabile locale <code>floor_open</code> vale <code>true</code>, allora Inform stampa a video il messaggio "<code>Dal pavimento della gabbia, un pozzo di terracotta scende nella cripta.</code>". Altrimenti (se, cioè, <code>floor_open</code> vale <code>false</code>), stampa a video il messaggio alternativo ("<code>Sei circondato dalle sbarre della gabbia.</code>"):
 
<pre>Anticamera (dentro la gabbia di ferro)
{| style="width:100%;" class="wikitable"
I cornicioni formano, a sudest del Tempio, una curiosa anticamera.
|<code>Anticamera (dentro la gabbia di ferro)<br>
 
I cornicioni formano, a sudest del Tempio, una curiosa anticamera.<br><br>
La lampada al sodio, posata a terra, si sta lentamente consumando.<br><br>
 
Dal pavimento della gabbia, un pozzo di terracotta scende nella cripta.<br><br>
Dal pavimento della gabbia, un pozzo di terracotta scende nella cripta.
 
></code>
|}
Line 115 ⟶ 117:
e l’avventura termina con una bella vittoria:
 
<pre>Il Grande Altopiano
{| style="width:100%;" class="wikitable"
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.
|<code>Il Grande Altopiano<br>
 
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.<br><br>
>posa il favo nella cassa<br>
Come depositi con attenzione il favo un macao dalla coda rossa fluttua giù dalle cime degli alberi, con le piume appesantite dalla pioggia recente. Il battito delle sue ali è quasi assordante e delle pietre crollano una sull'altra.
Non appena il cielo si schiarisce, una luna crescente sorge sopra una tranquilla
giungla. È la fine di marzo del 1938, ed è l'ora di tornare a casa.<br><br>
 
<nowiki>***</nowiki> Hai vinto ***<br><br>
<nowiki>***</nowiki> Hai vinto ***
In questa partita hai totalizzato 30 punti su 30 possibili, in 117 turni, guadagnando il rango di Direttore della Fondazione Carneige.<br><br>
 
Vuoi RICOMINCIARE, CARICARE una partita salvata o USCIRE ?<br>
In questa partita hai totalizzato 30 punti su 30 possibili, in 117 turni, guadagnando il rango di Direttore della Fondazione Carneige.
>uscire</code>
 
|}
Vuoi RICOMINCIARE, CARICARE una partita salvata o USCIRE ?
>uscire
</pre>
 
[[Immagine:Inform e Glulx-sp.gif|centre|435 px|]]
Line 133 ⟶ 138:
 
Object Square_Chamber "La Sala Quadrata"...
<br>
Object -> "iscrizioni scolpite"...
<br>
Object -> sunlight "raggio di sole"...
<br>
Object -> throne "trono di pietra"
with name 'trono' 'pietra',
Line 151 ⟶ 156:
Questo oggetto, come potete facilmente vedere, si trova nella <code>Sala Quadrata</code>. Ecco come funziona:
 
<pre>La Sala Quadrata
{| style="width:100%;" class="wikitable"
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.
|<code>La Sala Quadrata<br>
 
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.<br><br>
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
 
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.<br><br>
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.
>siediti sul trono<br>
 
Ti sei seduto sul trono.<br><br>
>siediti sul trono
>g<br><br>
Ti sei seduto sul trono.
La Sala Quadrata (sopra il trono di pietra)<br>
 
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.<br><br>
>g
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
 
>s<br>
DovrestiLa togliertiSala daQuadrata (sopra il trono di pietra prima.<br><br>)
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.
>alzati dal trono<br>
 
Questo è un verbo che non conosco.<br><br>
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.
></code>
 
|}
>s
Dovresti toglierti da sopra il trono di pietra prima.
 
>alzati dal trono
Questo è un verbo che non conosco.
 
>
</pre>
 
Il primo problema da risolvere è che in Infit (v2.5) manca di fatto la definizione del verbo <code>alzati</code>, ma, come dice un vecchio detto, a tutto c’è rimedio:
Line 175 ⟶ 188:
Grazie a questa riga di codice (da posizionare alla fine del listato di Ruins, subito sotto la riga di codice <code>Verb 'fotografa' * noun...</code>, abbiamo il nostro verbo funzionante e pronto per essere usato:
 
<pre>La Sala Quadrata (sopra il trono di pietra)
{| style="width:100%;" class="wikitable"
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.
|<code>La Sala Quadrata (sopra il trono di pietra)<br>
 
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.<br><br>
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
 
>s<br>
>s
Dovresti toglierti da sopra il trono di pietra prima.<br><br>
Dovresti toglierti da sopra il trono di pietra prima.
>alzati dal trono<br>
 
Ora sei di nuovo in piedi.<br><br>
>alzati dal trono
>g<br><br>
Ora sei di nuovo in piedi.
La Sala Quadrata<br>
 
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.<br><br>
>g
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
 
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.<br><br>
La Sala Quadrata
></code>
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.
|}
 
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.
 
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.
 
>
</pre>
 
Volendo, è possibile fare in modo che il giocatore non sia costretto a digitare tutte le volte i comandi "<code>siediti sul trono</code>" e "<code>alzati dal trono</code>" ma, più semplicemente, "<code>siediti</code>" e "<code>alzati</code>". Ecco allora le modifiche da apportare all’oggetto <code>throne</code>:
Line 210 ⟶ 230:
L’uso più comune della proprietà <code>react_before</code>, come abbiamo già visto nel quarto paragrafo di questo capitolo, è quello di evitare le azioni senza oggetto. Per quanto riguarda l’azione <code>Enter</code>, se <code>noun == nothing</code> (se cioè il giocatore digita solo "<code>siediti</code>"), Inform fa sedere l’archeologo sul trono; per quanto riguarda invece l’azione <code>Exit</code>, se <code>noun == nothing</code> (se cioè il giocatore digita solo "<code>alzati</code>"), Inform fa alzare l’archeologo dal trono, solo però se è seduto su di esso (<code>&& player in self</code>). Ma c’è ancora un piccolo problema:
 
<pre>La Sala Quadrata
{| style="width:100%;" class="wikitable"
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.
|<code>La Sala Quadrata<br>
 
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.<br><br>
Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.<br><br>
 
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.<br><br>
Alcuni gradini di pietra, bassi e squadrati, portano verso un trono maestoso, anch'esso di pietra.
>siediti<br>
 
Su cosa vuoi sederti?<br><br>
>siediti sul trono<br>
Su cosa vuoi sederti?
Ti sei seduto sul trono.<br><br>
 
>alzati<br>
>siediti sul trono
Ora sei di nuovo in piedi.<br><br>
Ti sei seduto sul trono.
></code>
 
|}
>alzati
Ora sei di nuovo in piedi.
 
>
</pre>
 
Come potete vedere, il comando "<code>siediti</code>" non funziona ancora da solo. Il problema è relativo alla definizione del verbo <code>siediti</code> in Infit:
Line 238 ⟶ 263:
Extend 'siediti' first * -> Enter;
 
che va inserita alla fine del listato di Ruins subito sotto la riga di codice <code>Verb 'alzati' = 'esci';</code><br>
Provare per credere...
 
Line 273 ⟶ 298:
che corrispondono alle seguenti istruzioni:
 
<code>style roman;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! (normale)</code><br>
<code>style bold;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! (grassetto)</code><br>
<code>style underline; ! (corsivo)</code><br>
<code>style reverse;&nbsp;&nbsp;&nbsp;! (reverse)</code><br>
<code>style fixed;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! (preformattato) – equivalente a font off</code><br>
 
L’istruzione <code>font off</code> attiva il font a spaziatura fissa, dove i singoli caratteri hanno la stessa distanza fra di loro (il Times New Roman, uno dei font che ho utilizzato per scrivere questo manuale, è ad esempio uno di quelli che non ha questa caratteristica). Detto questo, occorre capire che '''in inform, azioni come la centratura del testo rispetto allo schermo sono possibili solo con un font a spaziatura fissa, e quindi solo in modalità <code>font off</code>'''<ref>In realtà queste azioni sono teoricamente possibili anche con i font a spaziatura variabile ma, poiché i valori delle coordinate di riferimento cambiano di volta in volta a seconda del font utilizzato, non sono fattibili da un punto di vista "pratico" perché in Inform non si può stabilire uno specifico font da utilizzare di default.</ref>.
Line 331 ⟶ 356:
Traduzione e adattamenti di Vincenzo Scarpa e Raffaello Valesio
(c) 2002-2003 su permesso dell'autore.^^";
<br>
Constant MAX_CARRIED = 7;
Constant MAX_SCORE = 30;
<br>
Release 2;
Serial "025207";
<br>
Include "Parser";
.
Line 346 ⟶ 371:
 
[ PhotographSub...
<br>
[ AiutoSub;
print "Sei proprio sicuro di volere un aiuto sul gioco? (s/n)^^>";
Line 356 ⟶ 381:
}
];
<br>
Verb 'fotografa'...
Verb 'aiuto' 'help' * -> Aiuto;
Line 362 ⟶ 387:
Se il giocatore digita questo comando quando si trova nel <code>Grande Altopiano</code> e l’entrata della piramide è bloccata dalle macerie, Inform stampa a video il relativo consiglio, altrimenti lo informa che nessun aiuto è disponibile in quel punto del gioco:
 
<pre>Il Grande Altopiano
{| style="width:100%;" class="wikitable"
|<code>Il Grande Altopiano<br>
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata.
La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.<br><br>
 
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.<br><br>
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.<br><br>
 
>aiuto<br>
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)<br><br>
 
>s<br>
>aiuto
Non riesci a rimuovere le macerie? Prova a mangiare il fungo...<br><br>
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)
></code>
 
|}
>s
Non riesci a rimuovere le macerie? Prova a mangiare il fungo...
 
>
</pre>
 
Volendo essere estremamente pignoli, possiamo addirittura prevedere l’inserimento di una ''password'':
Line 397 ⟶ 426:
Alla richiesta di aiuto, se il giocatore non digita la password corretta il suggerimento non viene visualizzato. Naturalmente, oltre alla password corretta, il giocatore si deve trovare nel <code>Grande Altopiano</code> e l’entrata della piramide deve essere bloccata dalle macerie:
 
<pre>Il Grande Altopiano
{| style="width:100%;" class="wikitable"
|<code>Il Grande Altopiano<br>
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata.
La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.<br><br>
 
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.<br><br>
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.<br><br>
 
>aiuto<br>
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)<br><br>
 
>s<br>
>aiuto
Inserisci la password: funghi<br><br>
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)
Non sembra essere quella giusta...<br><br>
 
>aiuto<br>
>s
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)<br><br>
Inserisci la password: funghi
>s<br>
 
Inserisci la password: fungo<br>
Non sembra essere quella giusta...
Non riesci a rimuovere le macerie? Prova a mangiare il fungo...<br><br>
 
>prendi il fungo<br>
>aiuto
Hai raccolto abilmente il fungo, senza staccarlo dal suo gambo sottile.<br><br>
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)
>mangia il fungo<br>
 
Lo sgranocchi ad un angolo, incapace di capire l'origine di un gusto così acre, distratto dal volo di un macao sopra la tua testa che sembra quasi un'esplosione nel sole. Il battito delle sue ali è quasi assordante, e delle pietre crollano una sull'altra.<br><br>
>s
>aiuto<br>
Inserisci la password: fungo
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)<br><br>
Non riesci a rimuovere le macerie? Prova a mangiare il fungo...
>s<br>
 
Inserisci la password: fungo<br>
>prendi il fungo
Spiacente... nessun aiuto qui.<br><br>
Hai raccolto abilmente il fungo, senza staccarlo dal suo gambo sottile.
></code>
 
|}
>mangia il fungo
Lo sgranocchi ad un angolo, incapace di capire l'origine di un gusto così acre, distratto dal volo di un macao sopra la tua testa che sembra quasi un'esplosione nel sole. Il battito delle sue ali è quasi assordante, e delle pietre crollano una sull'altra.
 
>aiuto
Sei proprio sicuro di volere un aiuto sul gioco? (s/n)
 
>s
Inserisci la password: fungo
Spiacente... nessun aiuto qui.
 
>
</pre>
 
Il comando "<code>informazioni</code>":
 
[ PhotographSub...
<br>
[ AiutoSub...
<br>
[InformazioniSub;
"Ruins è un esempio interattivo scritto da Graham Nelson per
Line 439 ⟶ 479:
scarvin@@64libero.it. ";
];
<br>
Verb 'fotografa'...
Verb 'aiuto' 'help'...
Line 446 ⟶ 486:
può essere utile al giocatore per sapere come contattare l’autore nel caso in cui gli voglia chiedere, ad esempio, qual è la soluzione del gioco, se è possibile reperire il listato, o altro ancora:
 
<pre>Dopo giorni di inutili ricerche, passati senz'acqua attraversando i rovi della foresta, alla fine la tua pazienza è stata ricompensata: hai fatto una scoperta!
{| style="width:100%;" class="wikitable"
 
|<code>Dopo giorni di inutili ricerche, passati senz'acqua attraversando i rovi della foresta, alla fine la tua pazienza è stata ricompensata: hai fatto una scoperta!<br><br>
RUINS<br>
Un esempio di lavoro interattivo.<br>
Copyright (c) 1999 di Graham Nelson.<br>
Traduzione e adattamenti di Vincenzo Scarpa e Raffaello Valesio (c) 2002-2003 su permesso dell'autore.<br><br>
 
Versione 1 -- Numero di serie 041109<br>
Versione 1 -- Numero di serie 041109
Inform v6.30 -- Libreria 6/11 -- Infit v2.5&nbsp;&nbsp;&nbsp;&nbsp;S<br><br>
Inform v6.30 -- Libreria 6/11 -- Infit v2.5&nbsp;&nbsp;&nbsp;&nbsp;S
Il Grande Altopiano<br>
 
Il Grande Altopiano
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata.
La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.<br><br>
 
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.<br><br>
Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.<br><br>
 
>informazioni<br>
La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.
Ruins è un esempio interattivo scritto da Graham Nelson per l'Inform Designer's Manual.<br>
 
Traduzione in italiano a cura di Vincenzo Scarpa e Raffaello Valesio.<br>
>informazioni
Per segnalazioni e contatti scrivete all'indirizzo e-mail scarvin@libero.it.<br><br>
Ruins è un esempio interattivo scritto da Graham Nelson per l'Inform Designer's Manual.
></code>
Traduzione in italiano a cura di Vincenzo Scarpa e Raffaello Valesio.
|}
Per segnalazioni e contatti scrivete all'indirizzo e-mail scarvin@libero.it.
 
>
</pre>
 
Un altro comando piuttosto importante da implementare è "<code>istruzioni</code>", con lo scopo di spiegare ai non esperti come giocare a un’avventura testuale, argomento che non deve mai essere dato per scontato. Il codice è praticamente identico al comando precedente tranne, ovviamente, che per il nome.