Inform e Glulx/RUINS, l'avventura comincia/Un archeologo per un facocero (basta solo che non grugnite)

Wikibooks, manuali e libri di testo liberi.
Indice del libro

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]

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]

  1. Cliccate qui per scaricare il listato di questo esercizio (il file 4.14.inf).