## Class Gioco

    java.lang.Object
      Gioco

    public class Gioco

extends java.lang.Object

Classe principale di jrisk, un gioco di strategia ispirato al famoso Risiko. Per far partire il gioco, crea un'istanza di questa classe e chiama il metodo run(). Questa è la classe principale dell'applicazione, poiche gestisce la creazione e la allocazione in memoria di tutte le altre classi.

Version:
  1.0.0
Author:
  Alessio Treglia

Field Summary
`protected static int[]` `ARMATE_GIOCATORI` Numero di armate iniziali per ogni giocatore in base al numero totale dei giocatori
`protected static java.lang.String[]` `COLORI` Colori disponibile per i giocatori
`protected java.util.List` `giocatori` Elenco giocatori partecipanti
`protected static int` `MAX_GIOCATORI` Numero massimo di partecipanti al gioco
`protected static int` `MIN_GIOCATORI` Numero minimo di partecipanti al gioco
`protected static Parser` `parser` Riferimento ad un interpete di comandi
`protected Tabellone` `planisfero` Riferimento al planisfero del gioco
`protected static Display` `schermo` Riferimento ad una periferica di visualizzazione

Constructor Summary
`Gioco()` Inizializza la classe principale del gioco.

Method Summary
`protected void` `assegnaArmate(Giocatore g)` TODO IN PARTE DA RISCRIVERE??
`protected void` `assegnaArmateIniziali()` Dopo che sono stati distribuiti i territori, vengono distribuite le armate in base al numero di partecipanti al gioco.
`protected void` `assegnaTerritori()` Assegna i territori ai giocatori in maniera casuale.
`protected void` `eliminaGiocatoriSconfitti()` Quando un giocatore non ha più territori allora ha perso e va eliminato dalla lista dei partecipanti al gioco.
`protected Giocatore` `finePartita()` Controlla se un giocatore ha vinto.
`java.util.List` `getGiocatori()` Restituisce l'elenco dei partecipanti.
`protected void` `impostaGiocatori()` Crea e inizializza un numero desiderato di oggetti Giocatore, uno per ogni partecipante al gioco.
`static void` `main(java.lang.String[] args)`
`void` `run()` Have fun!

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### MIN_GIOCATORI

    protected static final int MIN_GIOCATORI

  Numero minimo di partecipanti al gioco

  See Also:
    Constant Field Values

### MAX_GIOCATORI

    protected static final int MAX_GIOCATORI

  Numero massimo di partecipanti al gioco

  See Also:
    Constant Field Values

### ARMATE_GIOCATORI

    protected static final int[] ARMATE_GIOCATORI

  Numero di armate iniziali per ogni giocatore in base al numero totale dei giocatori

### COLORI

    protected static final java.lang.String[] COLORI

  Colori disponibile per i giocatori

### giocatori

    protected java.util.List giocatori

  Elenco giocatori partecipanti

### planisfero

    protected Tabellone planisfero

  Riferimento al planisfero del gioco

### parser

    protected static Parser parser

  Riferimento ad un interpete di comandi

### schermo

    protected static Display schermo

  Riferimento ad una periferica di visualizzazione

Constructor Detail

### Gioco

    public Gioco()

  Inizializza la classe principale del gioco.

Method Detail

### eliminaGiocatoriSconfitti

    protected void eliminaGiocatoriSconfitti()

  Quando un giocatore non ha più territori allora ha perso e va eliminato dalla lista dei partecipanti al gioco.

### finePartita

    protected Giocatore finePartita()

  Controlla se un giocatore ha vinto. Ciò accade quando rimane solo un giocatore nella lista dei partecipanti. È il vincitore.

  Returns:
    il riferimento al vincitore

### assegnaTerritori

    protected void assegnaTerritori()

  Assegna i territori ai giocatori in maniera casuale.

### assegnaArmateIniziali

    protected void assegnaArmateIniziali()
                                  throws java.io.IOException

  Dopo che sono stati distribuiti i territori, vengono distribuite le armate in base al numero di partecipanti al gioco.

  Throws:
    ``IOException``
    `java.io.IOException`

### assegnaArmate

    protected void assegnaArmate(Giocatore g)
                          throws java.io.IOException

  TODO IN PARTE DA RISCRIVERE??

  Throws:
    ``IOException``
    `java.io.IOException`

### impostaGiocatori

    protected void impostaGiocatori()
                             throws java.io.IOException

  Crea e inizializza un numero desiderato di oggetti Giocatore, uno per ogni partecipante al gioco.

  Throws:
    ``IOException``
    `java.io.IOException`

### run

    public void run()
             throws java.io.IOException

  Have fun!

  Throws:
    ``IOException``
    `java.io.IOException`

### getGiocatori

    public java.util.List getGiocatori()

  Restituisce l'elenco dei partecipanti.

  Returns:
    l'elenco dei giocatori

### main

    public static void main(java.lang.String[] args)