Class Game

All Implemented Interfaces:
Runnable

public class Game extends Object implements Runnable
Classe che implementa un thread per la gestione dell'interazione tra il server e un client.
Game propone una interfaccia testuala al client composta di tre fasi:
  • [MAIN SESSION]: fase iniziale in cui l'utente può
    • uscire dal programma (exit)
    • registrarsi al gioco (register)
    • cancellarsi dal gioco (remove)
    • autenticarsi al gioco (login)
  • [LOGIN SESSION]: fase in cui l'utente può
    • giocare una nuova partita (playwordle)
    • ricevere le proprie statistiche (sendmestat)
    • condividere le proprie statistiche (sharemestat)
    • effettuare il logout (logout)
  • [GAME SESSION]: fase in cui l'utente può
    • interrompere la partita in corso (quit!)
    • inserire una stringa (Guessed-Word)
  • Constructor Details

    • Game

      public Game(Socket socket, UserList userList, WordList wordList, MulticastSender multicastSender)
      Costruttore della classe Game.
      Parameters:
      socket - socket di connessione per la comunicazione tra Game e Client
      userList - oggetto (UserList) che memorizza gli utenti registrati al gioco
      wordList - oggetto (WordList) che memorizza le parole da indovinare
      multicastSender - oggetto (MulticastSender) che invia le notifiche sul multicast
  • Method Details

    • run

      public void run()
      Metodo run() del thread Game.
      Il Thread che contiene Game gestisce la comunicazione tra Game e Client: prepara gli stream di I/O sulla socket, invia un messaggio di benvenuto e rimane in attesa di un comando.

      In questa fase l'utente può:

      • uscire dal programma (exit)
      • registrarsi (register)
      • cancellarsi (remove)
      • effettuare il login (login)
      Specified by:
      run in interface Runnable