# 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.
```