Glotto2
Class Stanza

java.lang.Object
  extended by Glotto2.Stanza

public class Stanza
extends java.lang.Object

Classe Stanza - rappresenta un menu'

Questa classe contiene le scelte che puo' fare il personaggio in quella posizione.


Field Summary
static int[][] CODICI
          una matrice con tutti i codici delle scelte.
static java.lang.String[][] OPZIONI
           
static java.lang.String[] STANZE
           
 
Method Summary
 void esegui(Personaggio p, int codice)
          esegue l'azione scelta.
 java.lang.String formatta()
          stampa la stanza in un bel formato (dice dove ti trovi e poi elenca le opzioni con un numero)
static Stanza generaStanze()
          il metodo che mette davvero i collegamenti dentro alle stanze e abbina le opzioni del menu' alle classi SceltaXX
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STANZE

public static final java.lang.String[] STANZE

OPZIONI

public static final java.lang.String[][] OPZIONI

CODICI

public static final int[][] CODICI
una matrice con tutti i codici delle scelte. Per esempio, se CODICI[2][3] = 11 vuol dire che dalla stanza 2 l'azione 3 corrisponde ad eseguire la scelta della classe Scelta11. Se il codice e' <10 si invoca Scelta.

Method Detail

generaStanze

public static Stanza generaStanze()
il metodo che mette davvero i collegamenti dentro alle stanze e abbina le opzioni del menu' alle classi SceltaXX


formatta

public java.lang.String formatta()
stampa la stanza in un bel formato (dice dove ti trovi e poi elenca le opzioni con un numero)


esegui

public void esegui(Personaggio p,
                   int codice)
            throws java.lang.ArrayIndexOutOfBoundsException
esegue l'azione scelta. L'unica cosa che fa in piu' rispetto al solito e' quello di gestire le eccezioni controllate di denaro/energia insufficiente. Infine, fa una cosa in piu' e cioe' annuncia che puo' lanciare l'eccezione di ArrayIndexOutOfBoundsException. Questa cosa la fa solo per forzare un controllo nel chiamante.

Throws:
java.lang.ArrayIndexOutOfBoundsException - Non e' necessaria, ma utile ricordarselo: si possono scegliere solo le azioni valide!