Class User


public class User extends Object
Classe che rappresenta un utente del gioco.
L'utente è implementato come una mappa di coppie chiave-valore con i seguenti campi:
  • user: nome utente
  • password: password
  • giocate: numero di partite giocate
  • vinte: numero di partite vinte
  • streaklast: lunghezza della serie di vincite più recente
  • streakmax: lunghezza massima della serie di vincite
  • guessd: distribuzione di tentativi impiegati per arrivare alla soluzione
  • Constructor Summary

    Constructors
    Constructor
    Description
    Costruttore della classe User.
  • Method Summary

    Modifier and Type
    Method
    Description
    Metodo che crea una copia profonda di this.
    int
    Restituisce il numero di partite giocate.
    Metodo che restituisce la distribuzione dei tentativi impiegati per arrivare alla soluzione.
    Metodo che restituisce il nome-utente.
    Metodo che restituisce la password.
    int
    Metodo che restituisce la lunghezza della serie di vincite più recente
    int
    Metodo che restituisce la lunghezza massima della serie di vincite.
    int
    Metodo che restituisce il numero di partite vinte.
    void
    update(boolean win, int tentativi)
    Metodo che aggiorna i dati in base all'esito dell'ultima partita.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • User

      public User(Map<String,Object> user)
      Costruttore della classe User.
      Viene creato un nuovo oggetto User a partire da una Map<String, Object>; se la mappa non dovesse contenere tutti i campi necessari, viene lanciata una IllegalArgumentException.
      Parameters:
      user - mappa di coppie chiave-valore da cui creare l'oggetto User
      Throws:
      NullPointerException - se la mappa passata è null
      IllegalArgumentException - se la mappa passata non contiene tutti i campi corretti
  • Method Details

    • copy

      public User copy()
      Metodo che crea una copia profonda di this.
      Returns:
      nuovo oggetto User che rappresenta una copia profonda dell'oggetto corrente
    • getName

      public String getName()
      Metodo che restituisce il nome-utente.
      Returns:
      nome-utente
    • getPassword

      public String getPassword()
      Metodo che restituisce la password.
      Returns:
      password
    • getGiocate

      public int getGiocate()
      Restituisce il numero di partite giocate.
      Returns:
      numero di partite giocate
    • getVinte

      public int getVinte()
      Metodo che restituisce il numero di partite vinte.
      Returns:
      numero di partite vinte
    • getStreakLast

      public int getStreakLast()
      Metodo che restituisce la lunghezza della serie di vincite più recente
      Returns:
      lunghezza della serie di vincite più recente
    • getStreakMax

      public int getStreakMax()
      Metodo che restituisce la lunghezza massima della serie di vincite.
      Returns:
      lunghezza massima della serie di vincite
    • getGuessDistribution

      public List<Integer> getGuessDistribution()
      Metodo che restituisce la distribuzione dei tentativi impiegati per arrivare alla soluzione.
      Returns:
      distribuzione dei tentativi
    • update

      public void update(boolean win, int tentativi)
      Metodo che aggiorna i dati in base all'esito dell'ultima partita.
      Parameters:
      win - valore booleano che indica se l'utente ha vinto (true) o perso la partita (false)
      tentativi - numero di tentativi effettuati nella partita