Glotto2
Class Personaggio

java.lang.Object
  extended by Glotto2.Personaggio

public class Personaggio
extends java.lang.Object

Classe Personaggio - la classe principale del gioco

Questa classe contiene tutti i campi e i metodi per modificarli. Attenzione! Per modularità non contiene solo i metodi set e get, ma anche metodi speciali per le modifiche.


Field Summary
protected  int conoscenza
          obiettivi del gioco, piu' alti sono meglio e'
protected  int denaro
          valore di riserva consumato da certe azioni speciali
protected  Stanza dove
          la stanza attualmente occupata
protected  int energia
          valore di riserva, hai 100 punti ogni giorno, tutte le azioni ne consumano
protected  int fortuna
          attributo (sono 3: intellig., fortuna, simpatia)
protected  int giorno
          il numero corrente di giorni di gioco: il gioco finisce arrivati a NUM_GIORNI
protected  int intelligenza
          attributo (sono 3: intellig., fortuna, simpatia)
protected  java.lang.String nome
          messo all'inizio dall'utente
protected  int progetto
          obiettivi del gioco, piu' alti sono meglio e'
protected  java.util.Random rand
          il generatore di numeri random
protected  int sabadina
          serve a ricaricare il denaro.
protected  int simpatia
          attributo (sono 3: intellig., fortuna, simpatia)
 
Constructor Summary
Personaggio()
          un costruttore senza parametri, introdotto solo per compatibilita'
Personaggio(java.lang.String nome, int tipo)
          il costruttore vero del gioco, dipende da quello che viene dato alla creazione personaggio
Personaggio(java.lang.String nome, int intelligenza, int simpatia, int fortuna, int sabadina)
          il costruttore generico, introdotto solo per compatibilita'
 
Method Summary
 int allenaFortuna(int a, int b)
          aumenta la fortuna di un valore compreso tra a e b
 int allenaIntelligenza(int a, int b)
          aumenta l'intelligenza di un valore compreso tra a e b
 int allenaSimpatia(int a, int b)
          aumenta la simpatia di un valore compreso tra a e b
 void dormi()
          ricarica l'energia e avanza il giorno di 1 (o di 2 nel weekend)
 java.lang.String dumpStat()
          stampa tutti i dati del personaggio
 void fasePrincipale()
          il metodo invocato finche' non si raggiunge il numero di giorni per l'esame.
 java.lang.String formatoGiorno()
          questo metodo stampa il "giorno" in un formato piu' elegante, usato quando si visualizzano le caratteristiche del personaggio.
 int getConoscenza()
          classico metodo get
 int getDenaro()
          classico metodo get
 Stanza getDove()
          classico metodo get
 int getEnergia()
          classico metodo get
 int getFortuna()
          classico metodo get
 int getGiorno()
          classico metodo get
 int getIntelligenza()
          classico metodo get
 java.lang.String getNome()
          classico metodo get
 int getProgetto()
          classico metodo get
 java.util.Random getRand()
          classico metodo get
 int getSabadina()
          classico metodo get
 int getSimpatia()
          classico metodo get
 void paga(int costo)
          cala il valore del denaro di costo
 void progetta(int a, int b)
          aumenta il livello del "progetto" di un valore tra a e b La simpatia da' un ulteriore bonus
 void setConoscenza(int x)
          classico metodo set
 void setDenaro(int x)
          classico metodo set
 void setDove(Stanza x)
          classico metodo set
 void setEnergia(int x)
          classico metodo set
 void setFortuna(int x)
          classico metodo set
 void setGiorno(int x)
          classico metodo set
 void setIntelligenza(int x)
          classico metodo set
 void setProgetto(int x)
          classico metodo set
 void setSimpatia(int x)
          classico metodo set
 void stanca(int costo)
          cala il valore dell'energia di costo
 void studia(int a, int b)
          aumenta la "conoscenza" della materia di un valore tra a e b L'intelligenza da' un ulteriore bonus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nome

protected final java.lang.String nome
messo all'inizio dall'utente


intelligenza

protected int intelligenza
attributo (sono 3: intellig., fortuna, simpatia)


simpatia

protected int simpatia
attributo (sono 3: intellig., fortuna, simpatia)


fortuna

protected int fortuna
attributo (sono 3: intellig., fortuna, simpatia)


energia

protected int energia
valore di riserva, hai 100 punti ogni giorno, tutte le azioni ne consumano


denaro

protected int denaro
valore di riserva consumato da certe azioni speciali


sabadina

protected final int sabadina
serve a ricaricare il denaro. E' una blank final settata a seconda del tipo di personaggio (i cremini hanno di piu')


giorno

protected int giorno
il numero corrente di giorni di gioco: il gioco finisce arrivati a NUM_GIORNI


conoscenza

protected int conoscenza
obiettivi del gioco, piu' alti sono meglio e'


progetto

protected int progetto
obiettivi del gioco, piu' alti sono meglio e'


rand

protected final java.util.Random rand
il generatore di numeri random


dove

protected Stanza dove
la stanza attualmente occupata

Constructor Detail

Personaggio

public Personaggio(java.lang.String nome,
                   int intelligenza,
                   int simpatia,
                   int fortuna,
                   int sabadina)
il costruttore generico, introdotto solo per compatibilita'


Personaggio

public Personaggio()
un costruttore senza parametri, introdotto solo per compatibilita'


Personaggio

public Personaggio(java.lang.String nome,
                   int tipo)
il costruttore vero del gioco, dipende da quello che viene dato alla creazione personaggio

Parameters:
nome - il nome del giocatore
tipo - la scelta fatta all'inizio tra cremino, secchione, etc.
Method Detail

getNome

public java.lang.String getNome()
classico metodo get


getIntelligenza

public int getIntelligenza()
classico metodo get


getSimpatia

public int getSimpatia()
classico metodo get


getFortuna

public int getFortuna()
classico metodo get


getDenaro

public int getDenaro()
classico metodo get


getEnergia

public int getEnergia()
classico metodo get


getSabadina

public int getSabadina()
classico metodo get


getGiorno

public int getGiorno()
classico metodo get


getConoscenza

public int getConoscenza()
classico metodo get


getProgetto

public int getProgetto()
classico metodo get


getRand

public java.util.Random getRand()
classico metodo get


getDove

public Stanza getDove()
classico metodo get


setIntelligenza

public void setIntelligenza(int x)
classico metodo set


setSimpatia

public void setSimpatia(int x)
classico metodo set


setFortuna

public void setFortuna(int x)
classico metodo set


setDenaro

public void setDenaro(int x)
classico metodo set


setEnergia

public void setEnergia(int x)
classico metodo set


setGiorno

public void setGiorno(int x)
classico metodo set


setConoscenza

public void setConoscenza(int x)
classico metodo set


setProgetto

public void setProgetto(int x)
classico metodo set


setDove

public void setDove(Stanza x)
classico metodo set


formatoGiorno

public java.lang.String formatoGiorno()
questo metodo stampa il "giorno" in un formato piu' elegante, usato quando si visualizzano le caratteristiche del personaggio. Nota: il weekend conta come un giorno unico


dormi

public void dormi()
ricarica l'energia e avanza il giorno di 1 (o di 2 nel weekend)


studia

public void studia(int a,
                   int b)
aumenta la "conoscenza" della materia di un valore tra a e b L'intelligenza da' un ulteriore bonus

Parameters:
a - il minimo
b - il massimo

progetta

public void progetta(int a,
                     int b)
aumenta il livello del "progetto" di un valore tra a e b La simpatia da' un ulteriore bonus

Parameters:
a - il minimo
b - il massimo

allenaIntelligenza

public int allenaIntelligenza(int a,
                              int b)
aumenta l'intelligenza di un valore compreso tra a e b

Parameters:
a - il minimo
b - il massimo

allenaSimpatia

public int allenaSimpatia(int a,
                          int b)
aumenta la simpatia di un valore compreso tra a e b

Parameters:
a - il minimo
b - il massimo

allenaFortuna

public int allenaFortuna(int a,
                         int b)
aumenta la fortuna di un valore compreso tra a e b

Parameters:
a - il minimo
b - il massimo

paga

public void paga(int costo)
          throws DenaroInsufficienteException
cala il valore del denaro di costo

Parameters:
costo - di quanto calare
Throws:
DenaroInsufficienteException - se non ci sono abbastanza soldi

stanca

public void stanca(int costo)
            throws EnergiaInsufficienteException
cala il valore dell'energia di costo

Parameters:
costo - di quanto calare
Throws:
EnergiaInsufficienteException - se l'energia e' troppo bassa

dumpStat

public java.lang.String dumpStat()
stampa tutti i dati del personaggio


fasePrincipale

public void fasePrincipale()
il metodo invocato finche' non si raggiunge il numero di giorni per l'esame. Di fatto e' un unico ciclo while