Skip to content

Latest commit

 

History

History

alanlib_ita

Libreria Standard Italiana di Alan

Questa cartella contiene l'adattamento italiano della Alan Standard Library v2.1 di Anssi Räisänen, a cura di Tristano Ajmone

AVVERTENZA — Questo documento viene aggiornato sporadicamente e potrebbe non rispecchiare lo stato attuale della Libreria.


Indice


Contenuti della cartella

Modulo Italian

Il modulo lib_italian.i può essere utilizzato indipendentemente dalla Libreria Standard Italiana. Esso offre il supporto per la lingua italiana in Alan, consentendo di creare avventure testuali in italiano ad hoc, ossia creando da zero tutti i verbi e le classi specializzate, secondo necessità.

Il vantaggio di questo approccio, rispetto ad utilizzare la Libreria Standard, è la totale libertà autoriale per creare un mondo su misura per la propria avventura. L'ovvio svantaggio è il dover "reinventare la ruota", dato che si dovranno implementare tutti le classi di base e i verbi d'uso comune presenti nella Libreria (quasi 200 verbi).

Moduli della libreria

I moduli sorgenti della Libreria Standard Italiana di Alan:

Sorgenti Alan ausiliari

I vari boilerplate e template della StdLib sono stati rinominati prefiggendo un trattino basso, per poterli distinguere dai file indispensabili della Libreria:

NOTA — Il file _mygame_import.i (adattamento dell'originale 'mygame_import.i) è stato rimosso poiché era troppo impegnativo mantenerlo aggiornato al passo con la Libreria. Quando l'opera di adattamento della Libreria sarà terminato, sarò possibile ricrearlo da zero.

Documentazione della Liberia

La Libreria utilizza un sistema di documentazione automatizzato in grado di estrarre la documentazione dai commenti nei moduli sorgenti stessi, in formato AsciiDoc, tramite Doxter. I file AsciiDoc sono poi convertiti in HTML:

Per maggiori informazioni su come viene create la documentazione, vedi:

Documentazione progetto

Vari documenti di lavoro della Libreria (più o meno aggiornati).

Log delle modifiche alla Libreria:

Appunti sparsi di lavoro:

  • TODO.md — appunti sulle cose da fare e risolvere.
  • TRANSLATION_NOTES.md — appunti sulla traduzione degli identificati dall'inglese all'italiano.

Appunti di lavoro sul vestiario nella Liberia, il cui codice originale è stato interamente riscritto nella Libreria italiana:

Molti di questi documenti devono essere rimessi in ordine, aggiornati o eliminati; ma al momento servono come promemoria delle varie fasi di sviluppo della Libreria. Inoltre, contengono del testo riutilizzabile nella documentazione finale.

Annotazioni sorgenti

Nei moduli sorgenti della Libreria viene adottato un sistema di annotazione formale per semplificare l'individuazione di specifiche parti del codice tramite le funzionalità di ricerca dell'editor.

Elementi chiave

Per rendere facilmente trovabili alcuni aspetti e funzionalità della libreria, le righe o blocchi di codice che li riguardano sono stati marcati con commenti specifiche parole chiave racchiuse tra due serie di >>> (inizio blocco) e due <<< (fine blocco, se presente).

marcatore descrizione
>>> prendi implicito: >>> Verbi che tentano di prendere implicitamente uno dei parametri

Esempio da lib_verbi.i, verbo svuota, versa:

    DOES
      -- >>> prendi implicito: >>>
      IF ogg NOT DIRECTLY IN hero
        THEN LOCATE ogg IN hero.
          SAY  mia_AT:riferisci_prendi_implicito.
      END IF.
      -- <<< prendi implicito <<<

Pending Tasks

Per inviduare i vari compiti da ultimare, vengono utilizzate delle note a margine con specifiche parole chiave posta sulla colonna 80, e che terminano la riga con un punto esclamativo:

chiave descrizione
CHECK! Da verificare
DOXTERIZE! Commento da trasformare in documentazione
FIXME! Da correggere
HERO GENEDER! Implementare accordo di genere Hero
IMPROVE! Da migliorare
NOTE! Annotazioni che richiedono attenzione
TODO! Da fare
TRANSLATE COMMENTS! Commenti originali da tradurre
TRANSLATE! Messaggio libreria da tradurre

Esempio:

    AND ogg <> hero
-- @TODO: Implementa accordo di genere per Hero maschile/femminile              HERO GENEDER!
      ELSE "Non hai bisogno di essere liberato."