Inform e Glulx/RUINS, l'avventura comincia/Il primo tesoro (speriamo che non sia un anello): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Bot: sostituzione tag obsoleti |
||
Riga 9:
Verb 'fotografa' * noun -> Photograph;
che può essere così interpretata: <
[ PhotographSub;
Riga 28:
];
Se il giocatore non possiede la macchina fotografica (<
Esso infatti, viene considerato come un oggetto vero e proprio, che di default ha la seguente descrizione:
{| style="width:100%;" class="wikitable"
|<
Hai sempre lo stesso bell'aspetto.</
|}
Se poi il giocatore possiede più di un oggetto (<
Dal momento però, che questo povero archeologo non si è fatto la barba da quando ha lasciato il Messico, non credo che questo messaggio corrisponda proprio alla verità. Come vedete, è molto importante personalizzare "l’ambiente", se non altro per rendere più veritiera l’avventura in sé. Ecco quindi come possiamo modificare anche questo messaggio:
Riga 57:
{| style="width:100%;" class="wikitable"
|<
Assomigli proprio a Matusalemme.</
|}
Riga 88:
];
In questo esempio abbiamo definito il naso. Di per sé, l’oggetto nose non ha nulla di particolare, mentre la riga <
{| style="width:100%;" class="wikitable"
|<
A punta e pieno di lentiggini.</
|}
Riga 129:
];
Quella che viene adesso associata al <
{| style="width:100%;" class="wikitable"
|<
Li hai persi tutti quando eri piccolo.<br><br>
>esamina il mio naso<br>
A punta e pieno di lentiggini.</
|}
Provare per credere.
La rimanente parte del codice dovrebbe essere ormai abbastanza chiara, tranne che per quella strana istruzione denominata <
[ XyzzySub; "Non succede nulla."; ];
Riga 146:
Verb "xyzzy" * -> Xyzzy;
Se invece l’azione compie delle operazioni complesse, appartiene allora al gruppo 2 e dipende dalla proprietà <
Object -> statuette "statuetta pigmea"
Riga 185:
has female;
La variabile locale <
{| style="width:100%;" class="wikitable"
|<
Un corridoio basso e squadrato va da nord verso sud, inclinandosi verso la fine.<br><br>
Il passaggio è bloccato da una massiccia porta di pietra gialla.<br><br>
Riga 203:
Prepari l'elefantiaca macchina fotografica a lastre, sistemi la lampada al sodio e metti pazientemente in posa la statuetta pigmea.<br><br>
>prendi la statuetta<br>
Questi sono gli anni '30 e non i tempi andati. Prendere un manufatto senza prima registrarlo equivale a un saccheggio.</
|}
Nonostante la statuetta sia stata fotografata, non si può ancora prendere. Ecco quindi spiegato il motivo della presenza della <
[[Immagine:Inform e Glulx-sp.gif|centre|435 px|]]
Riga 248:
];
La costante <
Esiste poi, una ''modalità completa'' del punteggio, nel senso che è possibile stabilire, per un’azione qualsiasi, quanti punti assegnarle. Se, ad esempio, vogliamo dare 5 punti al giocatore quando mangia il fungo e 10 punti quando posa il bozzolo nel raggio di sole, ecco cosa dobbiamo fare:
* Per prima cosa, bisogna definire un array di nome <
Constant Story "RUINS";
Riga 264:
Array task_scores -> 5 10;
Il numero 5 è il punteggio che viene assegnato alla prima azione (quando il giocatore mangia il fungo) mentre il numero 10 viene assegnato alla seconda azione (quando il giocatore posa il bozzolo nel raggio). A questo array, si associano sempre le costanti <
* Occorre poi, modificare l’azione <
Eat:
Riga 276:
sull'altra.";
L’istruzione <
Insert:
Riga 290:
}
L’unica differenza, sta nel fatto che ora l’istruzione <
Per verificare che le azioni di assegnamento dei punteggi abbiano avuto effettivamente luogo, basta testarle con l’istruzione <
if (task_done->0 == 0)... ! se i 5 punti non sono stati assegnati...
Riga 301:
{| style="width:100%;" class="wikitable"
|<
Hai raccolto abilmente il fungo, senza staccarlo dal suo gambo sottile.<br><br>
>mangia il fungo<br>
Riga 324:
>punteggio<br>
Finora hai totalizzato 15 punti su 30 possibili, in 8 turni, guadagnando il rango di Rigattiere.<br><br>
></
|}
Bisogna anche considerare, come dice lo stesso Paolo Lucchesi, la ''modalità a punteggio pieno'', dove è necessario inserire la funzione di libreria <
[ Initialize...
Riga 344:
];
In poche parole, se il giocatore ha mangiato il fungo e ha posato il bozzolo nel raggio di sole, ecco cosa stampa a video Inform con il comando "<
{| style="width:100%;" class="wikitable"
|<
Finora hai totalizzato 15 punti su 30 possibili, in 8 turni, guadagnando il rango di Rigattiere.<br><br>
Il punteggio è così composto:<br><br>
Riga 353:
10 hai trovato la chiave di pietra<br><br>
15 in totale (su 30 possibili)<br><br>
></
|}
A ogni modo, non siete obbligati a supportare questa funzione nella gestione del punteggio in modalità completa; se il giocatore, durante il gioco, dà questo comando senza che la funzione <
[[Immagine:Inform e Glulx-sp.gif|centre|435 px|]]
Non sempre le azioni effettuate dal giocatore meritano di essere premiate. Ecco allora come procedere per far sì che il punteggio possa anche essere diminuito:
* La prima cosa da fare è quella di definire un array di nome <
Constant Story "RUINS";
Riga 376:
Array task_scores --> 10 (-5);
* Dal momento che è presente l’istruzione <
.
Riga 388:
{| style="width:100%;" class="wikitable"
|<
Hai raccolto abilmente il fungo, senza staccarlo dal suo gambo sottile.<br><br>
>mangia il fungo<br>
Riga 409:
Lasci cadere il bozzolo nel bagliore solare. Ribolle oscenamente, si dilata e poi scoppia. Centinaia di piccoli insetti corrono in tutte le direzioni nell'oscurità; gli spruzzi di melma e una curiosa chiave di pietra gialla sono tutto ciò che rimane sul pavimento.<br><br>
[Il tuo punteggio è appena diminuito di cinque punti.]<br><br>
></
|}
Riga 416:
[[Immagine:Inform e Glulx-sp.gif|centre|435 px|]]
Definendo, infine, la costante <
Constant Story "RUINS";
Riga 431:
.
è possibile disabilitare il punteggio, che non viene più segnalato sulla status line. Inoltre, perdono la loro efficacia le funzioni di libreria <
== Note ==
|