Interface StartView

  • All Known Implementing Classes:
    ConsoleStartView

    public interface StartView
    Responsabilità: fornire agli utenti fisici coinvolti nel gioco l'interazione per poter iniziare nuove partite.
    Author:
    Francesco Pio Stelluti, Francesco Coppola
    • Method Summary

      Modifier and Type Method Description
      int askNewAttempts​(int lowTres)
      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 lowTres, int highTres)
      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.
      default BreakerFactory setupBreaker​(BreakerFactoryRegistry registry)
      Gestione dell'interazione con l'utente fisico circa la particolare implementazione di CodeBreaker da impiegare nel gioco.
      default MakerFactory setupMaker​(MakerFactoryRegistry registry)
      Gestione dell'interazione con l'utente fisico circa la particolare implementazione di CodeMaker da impiegare nel gioco.
      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
    • Method Detail

      • setupMaker

        default MakerFactory setupMaker​(MakerFactoryRegistry registry)
        Gestione dell'interazione con l'utente fisico circa la particolare implementazione di CodeMaker da impiegare nel gioco.
        Parameters:
        registry - da cui recuperare le informazioni
        Returns:
        MakerFactory per la generazione di nuovi giocatori CodeMaker
      • setupBreaker

        default BreakerFactory setupBreaker​(BreakerFactoryRegistry registry)
        Gestione dell'interazione con l'utente fisico circa la particolare implementazione di CodeBreaker da impiegare nel gioco.
        Parameters:
        registry - da cui recuperare le informazioni
        Returns:
        BreakerFactory per la generazione di nuovi giocatori CodeBreaker
      • ending

        void ending()
        Gestione della conclusione dell'intero gioco dopo la fine di ogni singola partita.
      • badEnding

        void badEnding​(java.lang.String reason)
        Gestione anticipata della conclusione dell'intero gioco, richiamata ad esempio per il sollevamento di errori importanti.
        Parameters:
        reason - da presentare all'utente fisico
      • askNewStartupSettings

        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.
        Returns:
        StartupSettings contenente informazioni utili per iniziare o meno nuovi match
      • showNewMatchStarting

        void showNewMatchStarting()
        Gestione dell'interazione con l'utente fisico circa l'inizio di un nuovo match
      • askNewLength

        int askNewLength​(int lowTres,
                         int highTres)
        Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo alla lunghezza delle sequenze impiegate nel gioco.
        Parameters:
        lowTres - limite inferiore al valore da scegliere
        highTres - limite superiore al valore da scegliere
        Returns:
        int valore scelto
      • askNewAttempts

        int askNewAttempts​(int lowTres)
        Gestione dell'interazione con l'utente fisico per ottenere un nuovo valore relativo al numero di tentativi utili all'interno del gioco.
        Parameters:
        lowTres - limite inferiore al valore da scegliere
        Returns:
        int valore scelto
      • getPlayerName

        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.
        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

        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.
        Returns:
        boolean volontà dell'utente fisico di decidere nuove impostazioni per un nuovo match.
      • showLogo

        void showLogo()
        Gestione di interazione con l'utente fisico per mostrare il logo di gioco.