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
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).
I moduli sorgenti della Libreria Standard Italiana di Alan:
libreria.i
— adattamento dilibrary.i
, il modulo principale che importa tutti gli altri:lib_classi.i
— adattamento dilib_classes.i
.lib_classi_vestiario.i
— adattamento dilib_classes.i
.lib_definizioni.i
— adattamento dilib_definitions.i
.lib_italian.i
— aggiunge il supporto per la lingua italiana, non presente nella StdLib originale.lib_luoghi.i
— adattamento dilib_locations.i
.lib_messaggi_libreria.i
— adattamento di verb responses attributes fromlib_definitions.i
.lib_messaggi_runtime.i
— adattamento dilib_messages.i
.lib_verbi.i
— adattamento dilib_verbs.i
.
I vari boilerplate e template della StdLib sono stati rinominati prefiggendo un trattino basso, per poterli distinguere dai file indispensabili della Libreria:
_newgame_ita.alan
— adattamento dinewgame.alan
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.
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:
libreria.html
(Live HTML Preview)lib_classi.html
(Live HTML Preview)lib_classi_vestiario.html
(Live HTML Preview)lib_definizioni.html
(Live HTML Preview)lib_italian.html
(Live HTML Preview)lib_luoghi.html
(Live HTML Preview)lib_messaggi_libreria.html
(Live HTML Preview)lib_messaggi_runtime.html
(Live HTML Preview)lib_verbi.html
(Live HTML Preview)
Per maggiori informazioni su come viene create la documentazione, vedi:
Vari documenti di lavoro della Libreria (più o meno aggiornati).
Log delle modifiche alla Libreria:
CHANGELOG.md
— changelog attuale.CHANGELOG_OLD.md
— changelog precedente.
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:
VESTIARIO_OLD.md
— annotazioni sul sistema originale del vestiario.VESTIARIO_DEV.md
— appunti di sviluppo del nuovo sistema di vestiario.VESTIARIO_PROBLEMI.md
— note sui problemi del sistema originale.
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.
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.
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 <<<
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."