Class ConsoleStartView

  • All Implemented Interfaces:
    StartView

    public class ConsoleStartView
    extends java.lang.Object
    implements StartView
    Implementazione con interazione via console della classe StartView.
    Author:
    Francesco Pio Stelluti, Francesco Coppola
    • Constructor Summary

      Constructors 
      Constructor Description
      ConsoleStartView()
      Inizializzazione della vista con un FilterInputStream che non porta alla chiusura di System.in all'interno del suo metodo close().
    • Method Summary

      Modifier and Type Method Description
      int askNewAttempts​(int lowTreshold)
      Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo al numero di tentativi utili all'interno del gioco.
      int askNewLength​(int lowTreshold, int highTreshhold)
      Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo alla lunghezza delle sequenze impiegate nel gioco.
      boolean askNewLengthsAndAttempts()
      Gestione dell'interazione con l'utente fisico circa le decisioni per l'impostazione di nuovi valori di lunghezza delle sequenze e di numero di tentativi per un nuovo match.
      StartupSettings askNewStartupSettings()
      Gestione dell'interazione con l'utente fisico circa le decisioni per l'inizio di un nuovo match o meno dopo che uno è stato concluso.
      void badEnding​(java.lang.String reason)
      Gestione anticipata della conclusione dell'intero gioco, richiamata ad esempio per il sollevamento di errori importanti.
      void ending()
      Gestione della conclusione dell'intero gioco dopo la fine di ogni singola partita.
      java.lang.String getPlayerName​(PlayerFactoryRegistry registry, boolean isBreaker)
      Gestione dell'interazione dell'utente fisico per la scelta della particolare implementazione dei giocatori che verranno coinvolti nella nuova partita.
      void showLogo()
      Gestione di interazione con l'utente fisico per mostrare il logo di gioco.
      void showNewMatchStarting()
      Gestione dell'interazione con l'utente fisico circa l'inizio di un nuovo match
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConsoleStartView

        public ConsoleStartView()
        Inizializzazione della vista con un FilterInputStream che non porta alla chiusura di System.in all'interno del suo metodo close().
    • Method Detail

      • ending

        public void ending()
        Description copied from interface: StartView
        Gestione della conclusione dell'intero gioco dopo la fine di ogni singola partita.
        Specified by:
        ending in interface StartView
      • askNewStartupSettings

        public StartupSettings askNewStartupSettings()
        Description copied from interface: StartView
        Gestione dell'interazione con l'utente fisico circa le decisioni per l'inizio di un nuovo match o meno dopo che uno è stato concluso.
        Specified by:
        askNewStartupSettings in interface StartView
        Returns:
        StartupSettings contenente informazioni utili per iniziare o meno nuovi match
      • showNewMatchStarting

        public void showNewMatchStarting()
        Description copied from interface: StartView
        Gestione dell'interazione con l'utente fisico circa l'inizio di un nuovo match
        Specified by:
        showNewMatchStarting in interface StartView
      • askNewLength

        public int askNewLength​(int lowTreshold,
                                int highTreshhold)
        Description copied from interface: StartView
        Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo alla lunghezza delle sequenze impiegate nel gioco.
        Specified by:
        askNewLength in interface StartView
        Parameters:
        lowTreshold - limite inferiore al valore da scegliere
        highTreshhold - limite superiore al valore da scegliere
        Returns:
        int valore scelto
      • askNewAttempts

        public int askNewAttempts​(int lowTreshold)
        Description copied from interface: StartView
        Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo al numero di tentativi utili all'interno del gioco.
        Specified by:
        askNewAttempts in interface StartView
        Parameters:
        lowTreshold - limite inferiore al valore da scegliere
        Returns:
        int valore scelto
      • getPlayerName

        public java.lang.String getPlayerName​(PlayerFactoryRegistry registry,
                                              boolean isBreaker)
        Description copied from interface: StartView
        Gestione dell'interazione dell'utente fisico per la scelta della particolare implementazione dei giocatori che verranno coinvolti nella nuova partita.
        Specified by:
        getPlayerName in interface StartView
        Parameters:
        registry - registro contenente le informazioni sulle classi PlayerFactory relative alle implementazioni dei giocatori.
        isBreaker - flag che indica se la scelta è relativa ad una factory finalizzata alla generazione di un giocatore CodeBreaker o meno.
        Returns:
        String rappresentante l'implementazione del giocatore scelta per la nuova partita.
      • askNewLengthsAndAttempts

        public boolean askNewLengthsAndAttempts()
        Description copied from interface: StartView
        Gestione dell'interazione con l'utente fisico circa le decisioni per l'impostazione di nuovi valori di lunghezza delle sequenze e di numero di tentativi per un nuovo match.
        Specified by:
        askNewLengthsAndAttempts in interface StartView
        Returns:
        boolean volontà dell'utente fisico di decidere nuove impostazioni per un nuovo match.
      • showLogo

        public void showLogo()
        Description copied from interface: StartView
        Gestione di interazione con l'utente fisico per mostrare il logo di gioco.
        Specified by:
        showLogo in interface StartView
      • badEnding

        public void badEnding​(java.lang.String reason)
        Description copied from interface: StartView
        Gestione anticipata della conclusione dell'intero gioco, richiamata ad esempio per il sollevamento di errori importanti.
        Specified by:
        badEnding in interface StartView
        Parameters:
        reason - da presentare all'utente fisico