I D R A
Ipertesto Dinamico per Racconti d'Avventura

Manuale dell'autore
rev 1.0, © 2000 Enrico Colombini

 

qui puoi scaricare IDRA con il manuale

qui puoi visitare il sito ufficiale dell'autore Enrico Colombini con esempi e giochi scaricabili


Programmazione evoluta

CAP 6

1

Sfondo variabile

7

Link dal frame di controllo

2

Pagine e nomi di pagina

8

Variabili locali

3

Ricordare una pagina

9

Risparmiare variabili

4

Pagine temporanee

10

File multipli

5

Costanti

11

Riferimenti al documento

6

Funzioni

 

 

 

Sfondo variabile

Le tecniche illustrate in questa sezione possono essere ignorate da chi desidera soltanto scrivere semplici racconti-gioco; esse consentono agli esperti di sfruttare più a fondo le possibilità offerte da Idra.

Una buona familiarità col linguaggio JavaScript è naturalmente consigliabile; sul Web e in libreria si trovano numerosi corsi, sia introduttivi che a livello più avanzato.

Potrete trovare libri e corsi di javascript al seguente Link.

In ogni caso è bene non modificare il contenuto del file idra.js, intervenendo invece solo sul file gioco.js o su eventuali altri file aggiunti; si evita in questo modo il rischio di introdurre sottili malfunzionamenti, che possono non risultare evidenti a un primo collaudo.

Abbiamo visto nel capitolo 4 che per cambiare le opzioni della pagina, ad esempio il colore di fondo, si deve scrivere una funzione di nome OpzioniPagina() che verrà chiamata automaticamente da Idra al momento opportuno:

// Opzioni della pagina: sfondo ciano pallido

function OpzioniPagina(pag) {
  return 'bgcolor="#ccffff"'
}

Un'impostazione così fatta vale però per tutte le pagine; volendo personalizzarla, ad esempio per fare in modo che le pagine Cantina() e Laboratorio() usino invece uno sfondo giallo, ci si può basare sul contenuto dell'argomento pag che corrisponde alla pagina da mostrare:

// Sfondo diverso a seconda della pagina:

function OpzioniPagina(pag) {
  if (pag == Cantina || pag == Laboratorio) {
    return 'bgcolor="#ffff00"'  //giallo
  } else {
    return 'bgcolor="#ccffff"'  //ciano chiaro
  }
}

In questo caso, se la pagina è una delle due indicate la funzione ritorna il comando HTML per mettere un fondo giallo, altrimenti ritorna il comando per mettere un fondo ciano chiaro.

Da notare anche qui l'uso dei singoli apici intorno alle stringhe che contengono virgolette.

Con lo stesso sistema si potrebbe ritornare per altre pagine il comando per usare un disegno di fondo invece che un colore uniforme, come illustrato nel capitolo 4.

Un buon programmatore potrebbe poi sfruttare gli array o altre tecniche per non dover specificare le pagine una per una, nel caso che ve ne siano molte con caratteristiche differenti.