Adattamento italiano del modulo lib_classes.i della ALAN Standard Library v2.1, © Anssi Räisänen, Artistic License 2.1. Ad opera di Tristano Ajmone, © 2018, Artistic License 2.1.

Introduzione

Questo modulo della libreria definisce varie classi di oggetti e attori. Siccome molte di queste classi ricorrono spesso nelle definizioni dei verbi nel modulo lib_verbi.i, si consiglia di procedere con cautela prima di modificarle o cancellarle. Per semplificare tale compito, all’inizio di ciascuna classe viene riportato se e dove venga fatto riferimento ad essa negli altri moduli della libreria.

Elenco delle classi

Sezione non ancora disponibile…​

Dispositivi

Un macchinario o congengo ellettrico che è possibile accendere e spegnere, a meno che non sia rotto. Se esaminato, la descrizione includerà il suo stato attuale (acceso o spento).

ESEMPI: Interruttore, Tv, computer, radio, generatore elettrico.

attributi e valori predefiniti significato

IS NOT acceso.

È spento.

IS NOT rotto.

È funzionante.

Questa classe non ricorre altrove, né in questo file né in altri moduli.

Porte

Può essere aperta o chiusa, e (opzionale) bloccata e sbloccata. Di default le porte sono chiuse e non bloccate. Per poter aprire una porta bloccata è richiesta la sua chiave (chiave_abbinata). Se esaminata, la descrizione includerà il suo stato attuale (aperta o chiusa).

Le porte hanno anche l’attributo altro_lato tramite il quale è possibile abbinare tra loro due porte situate in stanze diverse, creando l’illusione di una sola porta che si affaccia su entrambe le stanze. Quando due porte sono associate tra loro in questo modo, ossia dichiarando ciascuna porta come altro_lato dell’altra, la libreria sincronizzerà i cambiamenti di stato (aperta/chiusa, bloccata/sbloccata) tra esse, di modo che aprendo, chiudendo, sbloccando o bloccando una di esse tali azioni abbiano effetto automatico anche sulla porta associata.

attributi e valori predefiniti significato

IS apribile.

Può essere aperta e chiusa.

IS NOT aperto.

È chiusa.

IS NOT bloccabile.

Non ha una serratura.

IS NOT bloccato.

Non è blocata.

IS NOT prendibile.

È fissa.

HAS altro_lato porta_fittizia.

Nessuna porta abbinata.

HAS chiave_abbinata chiave_fittizia.

Non ha nessuna chiave abbinata.

Questa classe non ricorre altrove, né in questo file né in altri moduli.

Se si crea una porta bloccabile, si dovrà anche creare una chiave con cui il giocatore potrà sbloccarla. Esempio:

The portone_casa IsA porta at vialetto.
  Name portone.
  Has altro_lato portone_casa_retro.
  Has chiave_abbinata chiave_portone.
End the.

The chiave_portone IsA object.
  Name chiave.
  Has articolo "la".
End the.

Finestre

Può essere aperta o chiusa; si può guardare attraverso e fuori da essa. Se esaminata, la descrizione includerà il suo stato attuale (aperta o chiusa).

attributi e valori predefiniti significato

IS apribile.

IS NOT aperto.

IS NOT prendibile.

Questa classe non ricorre altrove, né in questo file né in altri moduli.

Fonti di luce

Liquidi

Si può prendere un liquido solo se è in un contenitore. Si possono usare i liquidi per riempire qualcosa, e li si può versare. Di default un liquido non è potabile.

Verbi

esamina

guarda_in

prendi

prendi_da

lascia

chiedi

dai_a

versa

versa_in

versa_su

svuota

svuota_in

svuota_su

metti_in

metti_su

Contenitore elencato

Si tratta di un contenitore i cui contenuti (se è aperto) saranno elencati sia nella descrizione del luogo (entrandovi, o usando ‘guarda’) sia quando viene esaminato o aperto. La libreria autogestisce lo stato di opacità di questo tipo di contenitore, rendendolo non opaco (NOT OPAQUE) quando viene aperto, e opaco quando viene chiuso, affinché i suoi contenuti non vengano svelati (elencati) quando esso è chiuso.

I contenuti di un contenitore normale non vengono elencati con il verbo ‘esamina’, ma solo con ‘guarda’, ‘guarda dentro’ o quando viene effettuata la descrizione del luogo.

Questa classe non ricorre altrove, né in questo file né in altri moduli.

Inizializzazione dei contenitori elencati

All’avvio, la libreria inizializzerà ogni istanza di contenitore_elencato aggiungendo ai suoi consentiti tutti gli oggetti contenuti in esso, di modo che sia possibile rimetterveli dentro dopo averli rimossi.

INITIALIZE

    FOR EACH lc IsA contenitore_elencato
      DO
        FOR EACH o IsA OBJECT, DIRECTLY IN lc
          DO
            INCLUDE o IN consentiti OF lc.
        END FOR.
    END FOR.

Questa automatizzazione risparmia all’autore l’incomodo di dover dichiarare manualmente, uno ad uno, che questi oggetti andranno annoverati tra i membri dell’insieme di oggetti che è consentito introdurre in quel contenitore. Dovrà comunque dichiarare manualmente quegli oggetti consentiti che non si trovano all’interno del contenitore all’inizio del gioco.

Suoni

È possibile ascoltare i suoni ma non esaminarli, annusarli né manipolarli. (volendo, li si può accendere e spegnere.)

attributi e valori predefiniti significato

IS NOT esaminabile.

IS NOT prendibile.

IS NOT raggiungibile.

IS NOT spostabile.

Questa classe non ricorre altrove, né in questo file né in altri moduli.

Supporti

Una superficie su cui poter mettere cose e su cui si può salire e scendere. Si tratta di un oggetto di tipo contenitore, perciò è possibile prendere le cose vi si trovano sopra (in realtà, dentro di esso, ma viene presentato in modo da crare l’illusione che sia una superficie). Di default, gli oggetti su un supporto saranno elencati nella descrizione del luogo o quando il supporto viene esamintao.

Armi

Di default un’arma non può essere sparata (p.es., un coltello, una mazza), ma settando l’attributo CAN sparare si avrà un’arma da fuoco che sarà utilizzabile con il verbo "spara" (p.es., una pistola, un cannone).

attributi e valori predefiniti significato

CAN NOT sparare.

È un’arma bianca

Attori

Sottoclassi di actor

La libreria definisce alcune sottoclassi specializzate di actor:

  • ACTOR

    • persona

      • maschio

      • femmina

Oggetti fittizi

Gli oggetti fittizi sono istanze utilizzate per inizializzare correttamente gli attributi delle classi definite in questo modulo che fanno riferimento ad altre istanze o classi (attributi di tipo istanza o insieme).

TODO

Questa sezione contiene l’elenco delle cose da fare per ultimare l’adattamento italiano del modulo delle classi.

Check-list generale

Lista della spesa per le varie cosucce da fare:

Check-list per Doxter

Finisci di trasformare commenti in documentazione Doxter:

  • Descrizione esamina.

  • Descrizione guarda_in.

  • Descrizione prendi.

  • Descrizione prendi_da.

  • Descrizione lascia.

  • Descrizione chiedi.

  • Descrizione dai_a.

  • Descrizione versa.

  • Descrizione versa_in.

  • Descrizione versa_su.

  • Descrizione svuota.

  • Descrizione svuota_in.

  • Descrizione svuota_su.

  • Descrizione metti_in.

  • Descrizione metti_su.