Inform e Glulx/RUINS, l'avventura comincia/Un archeologo per un facocero (basta solo che non grugnite)
Volete tornare da dove siete venuti ma, nonostante alcuni facoceri sembrino aver scavato dei cunicoli da nord, gli architetti di questa sala sono stati davvero avari nel fornirla di uscite. Testardi come solo un facocero del vostro calibro sa fare, con un balzo poderoso cozzate sopra il sigillo di terracotta posto al di sopra della sala, facendovi crollare addosso cenere e terra. Qualcosa privo di vita e terribilmente pesante cade su di voi. Perdete conoscenza e quando vi risvegliate vi rendete conto che… siete ritornati umani!!! Che meraviglia. Ora le ragazze vi guarderanno di nuovo… a parte la pancia, le rughe, l’occhio di vetro, i baffi finti e la parrucca. Beh, “piccoli” dettagli a parte, vi concentrate ora sul favo. In effetti potreste anche mangiarlo, ma vecchio com’è non saprà ormai più di nulla. Forse è meglio fotografarlo, raccoglierlo e metterlo poi nella cassa da imballaggio; al massimo, potrete sempre assaporarlo quando (o meglio, se) ritornerete alla Fondazione Carneige...
Un archeologo per un facocero (basta solo che non grugnite)
[modifica | modifica sorgente]Così com’è possibile trasformare un archeologo in un facocero, è anche possibile il contrario. Osserviamo il seguente codice:
Object Burial_Shaft "La Cripta" with description "Sui tuoi appunti di lavoro puoi leggere: ~Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro.~ (Negli appunti @`e importante non far notare che sei spaventato.)", n_to Wormcast, u_to [; move selfobj to self; print "Con un balzo poderoso, cozzi sopra il sigillo di terracotta posto al di sopra della sala, facendoti crollare addosso cenere e terra. Qualcosa privo di vita e terribilmente pesante cade su di te. Perdi conoscenza e quando ti risvegli ti rendi conto che @`e accaduto qualcosa di impossibile e grottesco...^"; ChangePlayer(selfobj); give warthog ~light ~proper; <<Look>>; ], cant_go "Gli architetti di questa sala sono stati avari nel fornirla di uscite. Alcuni facoceri, comunque, sembrano aver scavato dei cunicoli da nord.", before [; Jump: <<Go u_obj>>; ], has female light;
Quando il giocatore si dirige verso l’alto, entra in azione la parola chiave selfobj
che viene dapprima trasferita a self
(il giocatore è tornato ad essere un archeologo) per poi finire nelle "mani" dell’istruzione ChangePlayer
(che effettua di fatto la trasformazione). Occorre anche negare gli attributi light
e proper
:
Tana Del Verme (come facocero) >n La tana diventa scivolosa intorno al tuo corpo di facocero e strilli senza volerlo come annaspi nell'oscurità, precipitando infine a sud verso... La Cripta (come facocero) Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) C'è un favo splendidamente conservato qui. >esamina me stesso Infangato e ringhioso. >su Con un balzo poderoso, cozzi sopra il sigillo di terracotta posto al di sopra della sala, facendoti crollare addosso cenere e terra. Qualcosa privo di vita e terribilmente pesante cade su di te. Perdi conoscenza e quando ti risvegli ti rendi conto che è accaduto qualcosa di impossibile e grottesco... La Cripta Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) Un facocero sbuffa e grugnisce nelle ceneri. C'è un favo splendidamente conservato qui. >esamina me stesso Hai sempre lo stesso bell'aspetto. >
Dal momento che alcuni facoceri sembrano aver scavato dei cunicoli da nord, Nelson ha (giustamente) pensato di inserirne uno di essi non appena il giocatore ridiventa un archeologo. L’oggetto in questione è sempre il solito warthog
, ma questa volta è privo dell’attributo proper
(non è più, quindi, un nome proprio di persona e Inform può così trattarlo come un comune "oggetto" associandogli, quando occorre, il relativo articolo). Se invece vogliamo eliminarlo del tutto, basta sostituire la riga give warthog ~light ~proper;
con un semplice remove warthog;
come accade nel seguente esempio[1]:
Tana Del Verme (come facocero) >n La tana diventa scivolosa intorno al tuo corpo di facocero e strilli senza volerlo come annaspi nell'oscurità, precipitando infine a sud verso... La Cripta (come facocero) Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) C'è un favo splendidamente conservato qui. >su Con un balzo poderoso, cozzi sopra il sigillo di terracotta posto al di sopra della sala, facendoti crollare addosso cenere e terra. Qualcosa privo di vita e terribilmente pesante cade su di te. Perdi conoscenza e quando ti risvegli ti rendi conto che è accaduto qualcosa di impossibile e grottesco... La Cripta Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) C'è un favo splendidamente conservato qui. >esamina il facocero Non vedi nulla del genere. >esamina me stesso Hai sempre lo stesso bell'aspetto. >
In Inform è possibile stabilire che, dopo un certo numero di mosse effettuate dal giocatore, accada qualcosa. Possiamo allora provare a modificare il favo nel seguente modo:
Treasure -> Honeycomb "favo" with name 'antico' 'vecchio' 'miele' 'favo' 'cera', initial "C'@`e un favo di cera splendidamente conservato qui.", description "Forse qualche tipo di offerta funeraria.", after [; Eat: "Questo @`e probabilmente il pasto pi@`u costoso della tua vita. Il miele ha uno strano gusto, forse perch@'e @`e stato usato per conservare i visceri dei sovrani sepolti qui, ma sembra ancora miele."; Drop: StartTimer(self, 2); "Il favo comincia immediatamente ad ammorbidirsi."; Take: StopTimer(self); "La cera, sebbene sia molto molle, conserva ancora la forma di un favo."; ], time_left 0, time_out [; if (self in location) print "^Il favo, diventato ormai della cera liquida, si espande come una pozzanghera ed evapora.^"; remove self; ], has edible;
Inform ha un timer interno che viene attivato dall’istruzione StartTimer
che richiede, come parametri, l’oggetto stesso
(self
) e il numero di mosse
(2
) dopo le quali accade l’evento da noi stabilito. L’attivazione del timer avviene quando il giocatore posa da qualche parte il favo di cera che, dopo due mosse, evapora se non viene più raccolto:
La Cripta Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) C'è un favo splendidamente conservato qui. >posa tutto eccetto la macchina dizionario maya di Waldeck: Posato. lampada al sodio: Posata. mappa di Quintana Roo: Posata. >fotografa il favo Prepari l'elefantiaca macchina fotografica a lastre, sistemi la lampada al sodio e metti pazientemente in posa il favo. >prendi il favo La cera, sebbene sia molto molle, conserva ancora la forma di un favo. >posa il favo Il favo comincia immediatamente ad ammorbidirsi. >aspetta Il tempo passa. >aspetta Il tempo passa. Il favo, diventato ormai della cera liquida, si espande come una pozzanghera ed evapora. >g 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. La lampada al sodio è posata saldamente a terra. Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto. Puoi anche vedere la mappa di Quintana Roo e un dizionario maya di Waldeck qui. >
Se invece viene raccolto prima che vengano effettuate le due fatidiche mosse, allora il favo è "salvo":
La Cripta Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.) C'è un favo splendidamente conservato qui. >posa tutto eccetto la macchina dizionario maya di Waldeck: Posato. lampada al sodio: Posata. mappa di Quintana Roo: Posata. >fotografa il favo Prepari l'elefantiaca macchina fotografica a lastre, sistemi la lampada al sodio e metti pazientemente in posa il favo. >prendi il favo La cera, sebbene sia molto molle, conserva ancora la forma di un favo. >posa il favo Il favo comincia immediatamente ad ammorbidirsi. >aspetta Il tempo passa. >prendi il favo La cera, sebbene sia molto molle, conserva ancora la forma di un favo. >i Stai portando: un favo una macchina fotografica a lastre >
Ricordatevi infine, che l’istruzione StartTimer
ha bisogno, per poter funzionare, della variabile locale time_left
posta uguale a zero, e della funzione time_out
(nella quale viene di fatto eliminato l’oggetto in questione). Un esercizio efficace (ma anche contorto) per esplorare a fondo un’altra utilissima caratteristica di questo straordinario linguaggio di programmazione.
Note
[modifica | modifica sorgente]