# Inform e Glulx/RUINS, l'avventura comincia/Una gabbia per un facocero (e l'archeologo che fine ha fatto)?

Inform e Glulx
Copertina Tutti i moduli · Sviluppo
* IntroduzioneInform e Glulx/Introduzione
* Cosa occorre per iniziareInform e Glulx/Cosa occorre per iniziare
** Compilatore, interprete e altro ancora
** L'installazione
** Perché IF-IDE?
** Per chi non vuole (o non può) usare IF-IDE e Windows Frotz 2002
* Le basi di Inform
** A cosa serve questo capitolo?Inform e Glulx/Le basi di Inform/A cosa serve questo capitolo?
** Benvenuto in InformInform e Glulx/Le basi di Inform/Benvenuto in Inform
** Le funzioniInform e Glulx/Le basi di Inform/Le funzioni
** Variabili numeriche e caratteri specialiInform e Glulx/Le basi di Inform/Variabili numeriche e caratteri speciali
** Un po' di matematica non guasta maiInform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai
** Passaggio dei parametri e ritorno dei valoriInform e Glulx/Le basi di Inform/Passaggio dei parametri e ritorno dei valori
** L'input dei dati numerici: l'istruzione GetnumberInform e Glulx/Le basi di Inform/L'input dei dati numerici: l'istruzione Getnumber
** If (condition) then... else...Inform e Glulx/Le basi di Inform/If (condition) then... else...
** While e do... untilInform e Glulx/Le basi di Inform/While e do... until
** For, break e continueInform e Glulx/Le basi di Inform/For, break e continue
** L'utilizzo delle costantiInform e Glulx/Le basi di Inform/L'utilizzo delle costanti
** Switch... caseInform e Glulx/Le basi di Inform/Switch... case
** Salti ed etichetteInform e Glulx/Le basi di Inform/Salti ed etichette
** Caratteri e stringheInform e Glulx/Le basi di Inform/Caratteri e stringhe
** I vettoriInform e Glulx/Le basi di Inform/I vettori
** Le stringhe numericheInform e Glulx/Le basi di Inform/Le stringhe numeriche
** Le direttiveInform e Glulx/Le basi di Inform/Le direttive
** Il debuggingInform e Glulx/Le basi di Inform/Il debugging
* RUINS, l'avventura comincia
** Il grande altopiano (dalla padella alla brace)Inform e Glulx/RUINS, l'avventura comincia/Il grande altopiano (dalla padella alla brace)
** La cassa d'imballaggio (riuscirete a riempirla tutta)?Inform e Glulx/RUINS, l'avventura comincia/La cassa d'imballaggio (riuscirete a riempirla tutta)?
** Il fungo (velenoso o non velenoso)?Inform e Glulx/RUINS, l'avventura comincia/Il fungo (velenoso o non velenoso)?
** Chi ha paura del buio (gli insetti no di certo)?Inform e Glulx/RUINS, l'avventura comincia/Chi ha paura del buio (gli insetti no di certo)?
** La porta di pietra (gialla è più carina)Inform e Glulx/RUINS, l'avventura comincia/La porta di pietra (gialla è più carina)
** La chiave di pietra (così non si arruginisce)Inform e Glulx/RUINS, l'avventura comincia/La chiave di pietra (così non si arruginisce)
** Il primo tesoro (speriamo che non sia un anello)Inform e Glulx/RUINS, l'avventura comincia/Il primo tesoro (speriamo che non sia un anello)
** La maschera facciale (non di carnevale)Inform e Glulx/RUINS, l'avventura comincia/La maschera facciale (non di carnevale)
** Il ritorno della mummia (non è un film, è tutto vero)Inform e Glulx/RUINS, l'avventura comincia/Il ritorno della mummia (non è un film, è tutto vero)
** L'incrocio di Xibalbá (ma è davvero così pauroso)?Inform e Glulx/RUINS, l'avventura comincia/L'incrocio di Xibalbá (ma è davvero così pauroso)?
** La sfera di pietra pomice (avete indossato il casco)?Inform e Glulx/RUINS, l'avventura comincia/La sfera di pietra pomice (avete indossato il casco)?
** Una gabbia per un facocero (e l'archeologo che fine ha fatto)?Inform e Glulx/RUINS, l'avventura comincia/Una gabbia per un facocero (e l'archeologo che fine ha fatto)?
** La cripta dei nove signori della notte (o sette come i nani)?Inform e Glulx/RUINS, l'avventura comincia/La cripta dei nove signori della notte (o sette come i nani)?
** Un archeologo per un facocero (basta solo che non grugnite)Inform e Glulx/RUINS, l'avventura comincia/Un archeologo per un facocero (basta solo che non grugnite)
** La fine di RUINS è giunta (ma con Inform siete solo all'inizio)Inform e Glulx/RUINS, l'avventura comincia/La fine di RUINS è giunta (ma con Inform siete solo all'inizio)
* Inform e ancora Inform
** La Status LineInform e Glulx/Inform e ancora Inform/La Status Line
** I menuInform e Glulx/Inform e ancora Inform/I menu
** I labirinti e i nomi pluraliInform e Glulx/Inform e ancora Inform/I labirinti e i nomi plurali
** Il tempoInform e Glulx/Inform e ancora Inform/Il tempo
** I coloriInform e Glulx/Inform e ancora Inform/I colori
** I mezzi di trasportoInform e Glulx/Inform e ancora Inform/I mezzi di trasporto
** Su e giù con l'ascensoreInform e Glulx/Inform e ancora Inform/Su e giù con l'ascensore
** Gli NPC (o PNG in italiano)Inform e Glulx/Inform e ancora Inform/Gli NPC (o PNG in italiano)
** Le estensioni (o librerie aggiuntive)Inform e Glulx/Inform e ancora Inform/Le estensioni (o librerie aggiuntive)
** Varie, listati e decompilatoreInform e Glulx/Inform e ancora Inform/Varie, listati e decompilatore
* Inform e Glulx
** Cos'è GlulxInform e Glulx/Inform e Glulx/Cos'è Glulx
** L'installazione di JifInform e Glulx/Inform e Glulx/L'installazione di Jif
** La compilazioneInform e Glulx/Inform e Glulx/La compilazione
** L'esecuzioneInform e Glulx/Inform e Glulx/L'esecuzione
** Da Inform a GlulxInform e Glulx/Inform e Glulx/Da Inform a Glulx
** La grafica e il sonoroInform e Glulx/Inform e Glulx/La grafica e il sonoro
** L'allineamento delle immaginiInform e Glulx/Inform e Glulx/L'allineamento delle immagini
** Avventure senza graficaInform e Glulx/Inform e Glulx/Avventure senza grafica
** I colori e gli stili del testoInform e Glulx/Inform e Glulx/I colori e gli stili del testo
** La personalizzazione della Status LineInform e Glulx/Inform e Glulx/La personalizzazione della Status Line
** output dei datiInform e Glulx/Inform e Glulx/L'input/output dei dati
** VarieInform e Glulx/Inform e Glulx/Varie
** GULL, il manuale ufficialeInform e Glulx/Inform e Glulx/GULL, il manuale ufficiale
* Appendici
** Appendice A - Le azioni principaliInform e Glulx/appendici/Appendice A - Le azioni principali
** Appendice B - I messaggi della libreriaInform e Glulx/appendici/Appendice B - I messaggi della libreria
** Appendice C - Gli errori della compilazioneInform e Glulx/appendici/Appendice C - Gli errori della compilazione
** Appendice D - La soluzione di RuinsInform e Glulx/appendici/Appendice D - La soluzione di Ruins
** Appendice E - Come usare Windows Frotz 2002Inform e Glulx/appendici/Appendice E - Come usare Windows Frotz 2002
** Appendice F - Le mappeInform e Glulx/appendici/Appendice F - Le mappe
** Appendice G - Scrivere, distribuire e reperire delle avventure testualiInform e Glulx/appendici/Appendice G - Scrivere, distribuire e reperire delle avventure testuali
Modifica il sommario
Siete ritornati nella Sala del Tempio (dopo aver raccolto la stele ed esservi tolti la maschera), e notate che i cornicioni formano a sudest una curiosa anticamera. Spingete la lampada al sodio verso quella direzione e vi ritrovate davanti a una gabbia di ferro, alquanto sinistra, con la porta aperta. A un esame più attento potete notare che è abbastanza larga da poterci entrare dall'alto; provate allora a entrare, ma gli scheletri che popolano la gabbia ritornano in vita, bloccandovi con le loro mani ossute, schiacciandovi e prendendovi a pugni. Perdete conoscenza e quando vi risvegliate vi rendete conto che è accaduto qualcosa di impossibile e grottesco. Siete fuori dalla gabbia, e vi chiedete come mai. Confusi e storditi, cercate di entrare di nuovo, ma vi rendete conto che non potete fare una cosa simile perché il vostro aspetto è simile a quello di un facocero, o meglio... siete diventati un facocero. Accidenti: e come diamine farete ora a fare la corte alla vostra vicina di casa?

## Una gabbia per un facocero (e l'archeologo che fine ha fatto)?

Abbiamo visto che in Inform è possibile creare un contenitore con la particolarità di poter essere aperto o chiuso (come ad esempio la cassa da imballaggio). Esiste però anche il caso in cui il contenitore sia trasparente e che dia quindi la possibilità, al giocatore, di vedere gli oggetti in esso contenuti anche se è chiuso (come ad esempio la teca di vetro di un museo). L’attributo che permette di fare quanto detto è transparent:
Questo è quello che accade a un contenitore chiuso privo dell’attributo in questione: come è giusto che sia, se il giocatore cerca di esaminare il contenuto della cassa quando è chiusa, Inform stampa a video il relativo messaggio. Cosa accade invece se la cassa ha l’attributo transparent? È presto detto:
Anche se è chiusa, il giocatore può vedere ugualmente il suo contenuto (immaginate, con un po’ di fantasia, che sia fatta di vetro).
Rimanendo sempre in tema di contenitori, è arrivato il momento di esaminare la gabbia di ferro di Ruins. Ecco una prima versione semplificata:
la novità in questione riguarda la proprietà inside_description, il cui messaggio viene stampato a video solo se il giocatore si trova dentro la gabbia:
ma dal momento che il suo aspetto è alquanto sinistro, è facile aspettarsi qualche "scherzetto". Ecco perché Nelson ha previsto la presenza degli scheletri, che si risvegliano e vi aggrediscono non appena entrate nella gabbia, come previsto dal seguente codice:
L’oggetto skeletons, come alcuni di voi avranno sicuramente notato, è privo della proprietà description. Questo è un trucco volutamente usato da Nelson per fare in modo che gli scheletri siano "invisibili"; essi cioè, sono presenti, ma il giocatore non lo sa fino a quando non si trova dentro la gabbia. Dopodiché, dopo essere stato bloccato, schiacciato e preso a pugni, il povero archeologo viene trasformato in un facocero:
Per chi non lo sapesse, il facocero è un mammifero simile al nostro cinghiale, vivente nelle boscaglie e nelle savane africane. Ha la testa grande e massiccia, con una vistosa criniera dietro la nuca, denti canini diretti lateralmente verso l’alto e in avanti, e due caratteristiche verruche sotto gli occhi. Ora che vi siete fatti un’idea più precisa di quello che siete diventati, ecco come viene definito il facocero in Ruins:
Una volta trasformati, a parte spostarvi di locazione in locazione e vedere al buio, sono ben poche le cose che potete fare:
L’attributo proper è riservato a quegli oggetti il cui nome deve essere trattato come proprio di persona (non per niente a un certo punto rappresenta il giocatore stesso). Per quanto riguarda invece la "trasformazione", tutto verte sull’istruzione ChangePlayer, che deve avere come parametri il nome dell’oggetto in cui il giocatore deve essere trasformato (warthog) e i valori 0 (viene stampato a video solo il titolo della stanza in cui il giocatore si trova ➨ ad es. Anticamera) o 1 (viene stampato a video il titolo della stanza insieme all’aspetto del giocatore ➨ ad es. Anticamera (come facocero)). L’istruzione self.after = 0; serve invece a far sì che gli scheletri compaiano una sola volta quando il nostro archeologo entra nella gabbia. Viene cioè, come afferma giustamente Paolo Lucchesi, "tolta" la proprietà after, in modo che non venga più invocata in futuro.
Ponendo la proprietà after dell’oggetto cage uguale a zero, risolviamo sì il problema degli scheletri, ma non possiamo più usarla. Possiamo invece ricorrere all’attributo general:
mediante il quale otteniamo lo stesso risultato di prima, senza però dover necessariamente rinunciare alla proprietà in questione.
In Inform, se vogliamo nascondere un oggetto alla vista del giocatore, possiamo anche ricorrere all’attributo concealed:
Il risultato ottenuto è assolutamente identico a quello precedente, ma si ha il vantaggio che ora è possibile definire l’oggetto in questione come si vuole. Gli scheletri potrebbero infatti servire in qualche altro ipotetico punto del gioco, e sarebbe davvero un peccato dover obbligatoriamente rinunciare alle proprietà description e initial.

## Note

* ↑ Cliccate qui per scaricare il listato di questo esercizio (il file 4.12.inf).