logo windoweb



Sei qui:Home > Lo stato precedente



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

OFFERTE AMAZON


Come funziona Idra Appendice B 1 L'idea di Idra 5 Lo stato precedente
2 Perché JavaScript? 6 Il debugger
3 Struttura di Idra 7 Possibili migliorie
4 Salvataggio e ripristino

Lo stato precedente

Durante i collaudi emerse un serio problema: in certe condizioni il codice di una pagina poteva accidentalmente essere rieseguito, ad esempio aumentando nuovamente i punti se la pagina conteneva un'istruzione del tipo: v.punti += 15
Ciò accadeva ad esempio nel caso di un salvataggio della situazione: la pagina corrente era infatti già stata presentata, e quindi le variabili erano state cambiate di conseguenza; al ripristino doveva però essere mostrata nuovamente, per cui la sua funzione era eseguita una seconda volta, con i possibili effetti collaterali indesiderati di cui sopra.
Per evitare questo problema, la funzione vai() salva l'intero stato nella variabile statoPrecedente prima di mostrare una pagina, in modo da conservare la situazione com'era prima che la pagina fosse presentata. Salvando questa situazione precedente anziché quella attuale, il ridisegno della pagina al momento del ripristino rimetterà le cose esattamente come stavano.
La funzione ridisegna() fa uso appunto dello statoPrecedente per mostrare una pagina senza eseguirne il codice; in realtà essa fa un passo indietro (usa lo stato prima che la pagina fosse disegnata) e uno avanti (disegna la pagina): l'effetto è quello di non alterare né i valori delle variabili né quello degli eventuali tiri di dado.
Dato che la funzione mostra(), a differenza della vai(), non salva lo stato precedente, è sempre possibile mostrare delle pagine temporanee e poi ridisegnare la pagina corrente usando appunto ridisegna() senza rischiare alcun effetto collaterale, purché ovviamente le stesse pagine temporanee non abbiano cambiato il valore di qualche variabile di gioco.




CLICCA QUI ... PER CONSULTARE LA MAPPA SATELLITARE DEL GLOBO DI GOOGLE


Segnala un sito redazione@windoweb.it
© 1999-2014
Tutti i diritti riservati
Invia le tue foto o i documenti che vuoi pubblicare