Class Giocatore

java.lang.Object
  extended by Giocatore

public class Giocatore
extends java.lang.Object

Modella un giocatore umano. Possiede come caratteristiche una stringa contenente il nome del colore delle armate del giocatore, una collezione di carte e un elenco dei territori occupati dal giocatore. Inoltre tiene in memoria un riferimento ad un oggetto Display, usato per la visualizzazione dei messaggi del gioco.

Version:
1.0.0
Author:
Alessio Treglia

Field Summary
 Parser parser
          Interpete dei comandi
 Display schermo
          Schermo del giocatore
 
Constructor Summary
Giocatore(java.lang.String colore)
          All'inizio del gioco ogni giocatore sceglie un colore, dunque gli vengono assegnati n territori a caso.
 
Method Summary
static void aggiornaTurni()
          Aggiorna i numeri di turni giocati dal Giocatore return void
 void aggiungiCarta(java.lang.String valore)
          Aggiunge una carta fra quelle possedute dal giocatore.
 void aggiungiCarte(java.util.List carte)
          Aggiunge una serie di carte a quelle già possedute.
 void aggiungiTerritorio(Territorio t)
          In caso di vittoria, il territorio vinto viene aggiunto fra quelli posseduti.
 boolean eliminato()
          Controlla se il giocatore è ancora in gioco.
 java.util.List getCarte()
          Restituisce una collezione di tipo Set contenente tutte le carte possedute dal giocatore.
 java.lang.String getColore()
          Restitusice il colore delle armate del giocatore
 boolean getPuoPescare()
          Verifica se il giocatore può pescare una carta Territori
 java.util.Set getTerritori()
          Restituisce una collezione di tipo Set contenente tutti i territori posseduti dal giocatore.
 Territorio getTerritorio(java.lang.String nomeTerritorio)
          Verifica la presenza di un territorio nella collezione dei territori posseduti dal giocatore, e lo restituisce.
static int getTurnoCorrente()
          Restituisce il turno corrente del giocatore
 boolean haVinto()
          Verifica la condizione di vittoria.
 int numeroCarte()
          Restituisce il numero di carte possedute dal giocatore
 java.lang.String rimuoviCarta(java.lang.String valore)
          Rimuove una carta di un dato valore dalla collezione di carte possedute dal giocatore
 java.util.List rimuoviCarteStessoValore(java.lang.String valore, int n)
          Rimuove n carte uguali dalla collezione di carte possedute dal giocatore e le restituisce in una collezione.
 Territorio rimuoviTerritorio(java.lang.String nomeTerritorio)
          Quando viene perso un territorio in battaglia, questo viene eliminato dalla collezione di territori posseduti.
 java.util.List rimuoviTutteLeCarte()
          Rimuove tutte le carte dalla collezione di carte possedute dal giocatore.
 void setDisplay(Display schermo)
          Assegna una periferica di visualizzazione al Giocatore.
 void setPuoPescare(boolean haVintoUnTerritorio)
          Comunica al giocatore se ha la possibilità di pescare una carta Territori al prossimo giro.
 java.lang.String toString()
          Restituisce una descrizione stringa dell'oggetto.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

schermo

public Display schermo
Schermo del giocatore


parser

public Parser parser
Interpete dei comandi

Constructor Detail

Giocatore

public Giocatore(java.lang.String colore)
All'inizio del gioco ogni giocatore sceglie un colore, dunque gli vengono assegnati n territori a caso.

Parameters:
colore - Colore delle truppe del giocatore
Method Detail

setDisplay

public void setDisplay(Display schermo)
Assegna una periferica di visualizzazione al Giocatore.

Parameters:
schermo - periferica di visualizzazione usata dal gioco per comunicare con il giocatore.

getColore

public java.lang.String getColore()
Restitusice il colore delle armate del giocatore

Returns:
il colore delle armate del giocatore

getCarte

public java.util.List getCarte()
Restituisce una collezione di tipo Set contenente tutte le carte possedute dal giocatore.

Returns:
le carte possedute dal giocatore

aggiungiCarta

public void aggiungiCarta(java.lang.String valore)
Aggiunge una carta fra quelle possedute dal giocatore.

Parameters:
valore - carta da aggiungere nella collezione di carte possedute dal giocatore

aggiungiCarte

public void aggiungiCarte(java.util.List carte)
Aggiunge una serie di carte a quelle già possedute. Utile in caso di sconfitta di un giocatore, poichè il giocatore sconfitto cede le carte al giocatore che lo ha eliminato.

Parameters:
carte - List di carte da aggiungere

rimuoviCarta

public java.lang.String rimuoviCarta(java.lang.String valore)
Rimuove una carta di un dato valore dalla collezione di carte possedute dal giocatore

Parameters:
valore - valore della carta da rimuovere dalla collezione di carte
Returns:
nome String della carta

rimuoviTutteLeCarte

public java.util.List rimuoviTutteLeCarte()
Rimuove tutte le carte dalla collezione di carte possedute dal giocatore. Utile quando un giocatore è stato sconfitto, poichè scarica le carte dalla memoria e le passa a un altro oggetto giocatore.

Returns:
tutte le carte del giocatore, dopo averle rimosse

numeroCarte

public int numeroCarte()
Restituisce il numero di carte possedute dal giocatore

Returns:
il numero di carte possedute dal giocatore

rimuoviCarteStessoValore

public java.util.List rimuoviCarteStessoValore(java.lang.String valore,
                                               int n)
Rimuove n carte uguali dalla collezione di carte possedute dal giocatore e le restituisce in una collezione.

Parameters:
valore - valore String delle carte da rimuovere
n - numero di carte uguali da rimuovere
Returns:
una List contenente le carte rimosse

getTerritorio

public Territorio getTerritorio(java.lang.String nomeTerritorio)
Verifica la presenza di un territorio nella collezione dei territori posseduti dal giocatore, e lo restituisce.

Parameters:
nomeTerritorio - nome del territorio
Returns:
il riferimento al Territorio, se effettivamente posseduto, altrimenti null

getTerritori

public java.util.Set getTerritori()
Restituisce una collezione di tipo Set contenente tutti i territori posseduti dal giocatore.

Returns:
i territori posseduti dal giocatore

rimuoviTerritorio

public Territorio rimuoviTerritorio(java.lang.String nomeTerritorio)
Quando viene perso un territorio in battaglia, questo viene eliminato dalla collezione di territori posseduti.

Parameters:
nomeTerritorio - nome del territorio perso
Returns:
il Territorio perso

aggiungiTerritorio

public void aggiungiTerritorio(Territorio t)
In caso di vittoria, il territorio vinto viene aggiunto fra quelli posseduti.

Parameters:
t - Territorio vinto

setPuoPescare

public void setPuoPescare(boolean haVintoUnTerritorio)
Comunica al giocatore se ha la possibilità di pescare una carta Territori al prossimo giro.

Parameters:
haVintoUnTerritorio - true se il giocatore ha conquistato almeno un Territorio

getPuoPescare

public boolean getPuoPescare()
Verifica se il giocatore può pescare una carta Territori

Returns:
true se nel turno scorso ha conquistato almeno un territorio

getTurnoCorrente

public static int getTurnoCorrente()
Restituisce il turno corrente del giocatore

Returns:
turni giocati dal giocatore

aggiornaTurni

public static void aggiornaTurni()
Aggiorna i numeri di turni giocati dal Giocatore return void


eliminato

public boolean eliminato()
Controlla se il giocatore è ancora in gioco.

Returns:
true se il Giocatore occupa almeno un Territorio

haVinto

public boolean haVinto()
Verifica la condizione di vittoria.

Returns:
true se il giocatore ha vinto, cioè se occupa tutti i territori del Tabellone

toString

public java.lang.String toString()
Restituisce una descrizione stringa dell'oggetto.

Overrides:
toString in class java.lang.Object
Returns:
descrizione String dell'oggetto