You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lucafurfaro97 edited this page Jul 6, 2021
·
15 revisions
L'architettura utilizzata per questo progetto è del tipo MVC (Model - View - Controller)
Nello schema architetturale MVC l'applicazione viene suddivisa in tre gruppi principali di componenti: modelli, visualizzazioni e controller. Questo schema consente di realizzare la separazione delle competenze. Grazie all'uso di questo schema, le richieste dell'utente vengono indirizzate a un controller responsabile di interagire con il modello per eseguire le azioni dell'utente e/o recuperare i risultati delle query.
Modello:
Il modello è diviso in due modalità di gioco, singleplayer e multiplayer.
Controller:
Il controller gestisce l'accoppiamento tra GUI e modello.
View:
Gestisce la GUI
Il singleplayer è composto di 4 thread, ognuno per ogni giocatore che partecipa alla partita (Human o Bot che sia). I thread interagiscono tra di loro, andando a modificare lo stato del game, ovvero la board di gioco.
L'architettura RMI la usiamo per far comunicare due oggetti remoti tramite l'interfaccia.
Server:
Il server usa un handler, unico per ogni client.
Client:
Il client invece usa un client.
L'architettura del progetto è basata su uno schema RMI. Documentazione RMI