diff --git a/AraldiaMLGuide/AraldiaML.md b/AraldiaMLGuide/AraldiaML.md new file mode 100644 index 0000000..f3748fa --- /dev/null +++ b/AraldiaMLGuide/AraldiaML.md @@ -0,0 +1,505 @@ +# AraldiaML + +## Guida introduttiva alla programmazione in AraldiaML + +### Mattia Mascarello + +[TOC] + +## Preambolo + +AraldiaML è un linguaggio di markup basato su xml. + +> XML è l'acronimo di eXtensible Markup Language. +> +> XML è stato progettato per archiviare e trasportare dati. +> +> XML è stato progettato per essere leggibile sia dall'uomo che dalla macchina. + +AraldiaML contiene sia dati di gioco come le domande, gli scenari, gli eventi, i tipi di virus che si trovano in Araldia, sia elementi interattivi, quali effetti, porzioni di testo e decisioni che si attivano con modalità condizionali + + ## Excursus su XML + +Un documento XML è composto da tag come questo + +```xml + +``` + +I tag possono contenere altri tag in una struttura gerarchica + +per concludere il contenuto del tag occorre aggiungere un tag di chiusura + +```xml + +``` + +> Esempio +> ```xml +> +> +> +> ``` + +Oppure contenere del testo + +```xml + + Testo + +``` + + + +Alcuni tag non contengono alcun altro tag e quindi non necessitano di un tag di chisura, ma contengono uno slash al loro termine + +```xml + +``` + + + +I tag possono avere attributi + +```xml + + Testo + +``` + +```xml + +``` + +### Commenti + +I commenti iniziano con `` `` + +```xml + +``` + + + +## Documentazione + +### Struttura + +Qui è specificata la struttura del documento (attraverso alla gerarchia dei tag) + +* Araldia + + Tag iniziale del documento + + * values + + Elenco dei valori di gioco + + * value + + Valore di gioco + + * name + + nome + + * title + + titolo + + * description + + descrizione + + * min + + minimo + + * max + + massimo + + * default + + default + + * colorZones + + Colore condizionale dell'indicatore + + * colorZone + + Colore specificato per un range di colori + + * min + + minimo del range + + * max + + massimo del range + + * color + + colore in [esadecimale](https://www.w3schools.com/cssref/css_colors.asp) (ex #FFFFF) + + * description + + descrizione dell'indicatore, visibile se lo si seleziona + + * triggers + + controlli da effettuare, contiene tag di controllo + + * sections + + Tutte le pagine del gioco + + * events + + * event, frames= int, chance = int + + Evento casuale + frames: ogni quante azioni eseguire un sorteggio per l'evento + + chance: percentuale di probabilità che l'evento si verifichi + + * name + * title + * description + * choices + * choice + * title + * description (optional) + * effects + + * scenes + + Scene (A differenza di domande ed eventi, possono essere solo invocate e non appaiono spontaneamente) + + * scene + * name + * title + * description + * choices + * choice + * title + * description (optional) + * effects + + * questions + + * name + * title + * description + * choices + * title + * description (optional) + * effects + + * viruses + + * virus + * name + * title + * description + * stats + * transmissionSpeed (0-10) + * lethality (0-10) + * hospitalizationRate (0-10) + * infoboxes + * infobox + * title + * description + + * parties + + * party + * name + * title + * description + * motto + +### Tag di controllo + +#### \ + +Operazioni condizionali + +Comparatori: + +* is +* lessThan +* moreThan +* lessOrEqual +* moreOrEqual + +##### in \ + +Inserito in \, determina i check, comparando il valore corrente dell'indicatore con il criterio e il valore specificato nell' \ + +Sintassi + +```xml + + azioni + + + azioni + + + azioni + + + azioni + +``` + + + +###### All'inizio del blocco \ + +All'inizio del blocco: condizioni per mostrare o evitare il blocco + +```xml + +``` + +who -> target + +what -> variabile + +##### In altri luoghi + +```xml + + + + + + +``` + + + +#### \ + +```xml + + + +``` + + + +#### \ + +```xml + + + + + +``` + + + +#### \ + +```xml + +``` + +atLeastOne -> almeno una sezione del \ + +chance -> probabilità percentuale che il \ venga eseguito + +#### \
+ +chance -> probabilità percentuale che la sezione sia quella attivata nel \ + +#### \ + + Stampa una variabile + +```xml + +``` + +Elenco di variabili predefinite: + +* who="user" what="name" +* who="virus" what="name" +* who="virus" what="transmissionSpeed" +* who="virus" what="lethality" +* who="virus" what="hospitalizationRate" +* I nomi dei \, sotto il parametro \ + +## Esempio + +```xml + + + + + health + Salute + Il livello di salute della popolazione. Un indicatore importante + 0 + 100 + 100 + + + 0 + 30 + red + Beh, che dire... + + + 31 + 50 + orange + Dai... + + + 51 + 60 + yellow + Non male + + + 61 + 100 + green + Ok + + + + + + + + + + + + + + + + + new_variant + Nuova variante + + Il corriere della Pera annuncia l'arrivo di una nuova variante di . La nuova variante è + +
+ più letale del 10% + +
+
+ meno letale del 10% + +
+
+
+ + + + Ho capito + + + + + +
+
+ + + fondi_europei_scuola + Detto fatto + + + I tuoi alleati di governo ti guardano con disappunto. + + + + + I docenti di tutte le scuole ti sorridono. + + + + + + + + Ok + + + + + + + + + + + fondi_europei_scuola + Fondi Europei per la scuola + + L'unione Europea offre dei fondi per la scuola a patto di integrare i programmi scolastici con quelli degli altri stati + + I tuoi alleati di governo ti guardano con disappunto. + + + + + + Certo + + + + Per niente! + + + + + + + +
+ + + eys + eys-1 + Descrizione + + 1 + 1 + 1 + + + + Infobox1 + Testo + + + + + + + partito_giallo + Partito Giallo + Whatever + For the many, not the few. + + +
+ +``` + diff --git a/AraldiaMLGuide/AraldiaML.pdf b/AraldiaMLGuide/AraldiaML.pdf new file mode 100644 index 0000000..392dcc1 Binary files /dev/null and b/AraldiaMLGuide/AraldiaML.pdf differ diff --git a/data.xml b/data.xml new file mode 100644 index 0000000..6d15a13 --- /dev/null +++ b/data.xml @@ -0,0 +1,157 @@ + + + + + health + Salute + Il livello di salute della popolazione. Un indicatore importante + 0 + 100 + 100 + + + 0 + 30 + red + Beh, che dire... + + + 31 + 50 + orange + Dai... + + + 51 + 60 + yellow + Non male + + + 61 + 100 + green + Ok + + + + + + + + + + + + + + + + + new_variant + Nuova variante + + Il corriere della Pera annuncia l'arrivo di una nuova variante di . La nuova variante è + +
+ più letale del 10% + +
+
+ meno letale del 10% + +
+
+
+ + + + Ho capito + + + + + +
+
+ + + fondi_europei_scuola + Detto fatto + + + I tuoi alleati di governo ti guardano con disappunto. + + + + + I docenti di tutte le scuole ti sorridono. + + + + + + + + Ok + + + + + + + + + + + fondi_europei_scuola + Fondi Europei per la scuola + + L'unione Europea offre dei fondi per la scuola a patto di integrare i programmi scolastici con quelli degli altri stati + + I tuoi alleati di governo ti guardano con disappunto. + + + + + + Certo + + + + Per niente! + + + + + + + +
+ + + eys + eys-1 + Descrizione + + 1 + 1 + 1 + + + + Infobox1 + Testo + + + + + + + partito_giallo + Partito Giallo + Whatever + For the many, not the few. + + +