Il progetto consiste nello sviluppo di una versione software distribuita del gioco da tavolo Santorini. Il codice è scritto in linguaggio Java, ed è stato realizzato applicando il pattern architetturale Model-View-Controller (MVC). Le partite possono essere giocate utilizzando un'interfaccia da linea di comando (CLI) oppure un'interfaccia grafica (GUI). Tutte e 9 le divinità base richieste da specifica sono utilizzabili, ed è implemementata la funzionalità avanzata di partite multiple.
- Alessandro Polidori
- Olimpia Rivera
- Simone Sarti
- Regole Complete
- CLI
- GUI
- Socket
- FA partite multiple
Tool | Descrizione |
---|---|
maven | Strumento di gestione per software basati su Java e build automation |
junit 5 | Framework per testing |
Java Swing | Libreria grafica di Java |
StarUML | Tool per creazione di diagrammi UML |
Elelement, % | Class, % | Methods, % | Lines, % |
---|---|---|---|
Model | 100% (41/41) | 97% (184/188) | 97% (1137/1168) |
Controller | 100% (1/1) | 100% (15/15) | 91%(154/169) |
View | 100% (4/4) | 84% (16/19) | 74% (111/149) |
Sono presenti due diagrammi UML:
- UML di alto livello
- UML di dettaglio
Entrambi possono essere trovati qui nelle versioni .mdj e .pdf
La documentazione Javadoc relativa al progetto è disponibile qui
Per giocare sarà necessario lanciare prima il server. Per farlo basta posizionarsi all'interno della cartella contenente il file server.jar con un terminale e inserire
java -jar server.jar
Una volta che il server è up sarà possibile lanciare i client (la modalità di lancio per client.jar è identica).
java -jar client.jar
L'indirizzo ip e il tipo di interfaccia (cli/gui) verranno richiesti all'utente da terminale dopo aver lanciato il client.
Attenzione:
- per una corretta visualizzazione della versione cli è necessario utilizzare un terminale che supporti gli ANSI escape
- il progetto utilizza funzionalità di Java 14 non compatibili con versioni precedenti