Skip to content

Full videogame implementation of the Eriantys board game, complete with GUI

Notifications You must be signed in to change notification settings

SaladSlayer00/Eriantys-The-Videogame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prova Finale di Ingegneria del Software - AA 2021-2022

alt text

Implementazione del gioco da tavolo Eriantys.

Il progetto consiste nell’implementazione di un sistema distribuito composto da un singolo server in grado di gestire una partita alla volta e multipli client (uno per giocatore) che possono partecipare ad una sola partita alla volta utilizzando il pattern MVC (Model-View-Controller). La rete è stata gestita con l'utilizzo delle socket.

Interazione e gameplay: linea di comando (CLI) e grafica (GUI).

Documentazione

UML

I seguenti diagrammi delle classi rappresentano rispettivamente il modello iniziale sviluppato durante la fase di progettazione e i diagrammi del prodotto finale nelle parti critiche riscontrate.

Protocollo di rete

Il seguente documento presenta una descrizione dettagliata del protocollo di rete da noi implementato:

JavaDoc

La seguente documentazione include una descrizione per la maggior parte delle classi e dei metodi utilizzati, segue le tecniche di documentazione di Java.

Testing coverage

La percentuale di testing del model del gioco è pari a:

  • al 90% per le enum con una coverage dei metodi del 54.2% e delle righe di codice pari al 69.4%
  • al 100% per il package model con una coverage dei metodi del 86.2% e delle righe di codice del 86.1%
  • al 100% per il package riguardante la board con una coverage dei metodi del 77.8% e delle righe del 75.5%
  • al 100% per il package riguardante la plancia giocatore con una coverage dei metodi del 83.3% e delle righe del 80.8%

Librerie e Plugins

Libreria/Plugin Descrizione
Maven Strumento di automazione della compilazione utilizzato principalmente per progetti Java.
JavaFx Libreria grafica per realizzare interfacce utente.
JUnit Framework di unit testing.

Funzionalità

Funzionalità Sviluppate

  • Regole Complete
  • CLI
  • GUI
  • Socket
  • 2 FA (Funzionalità Avanzate):
    • Persistenza: lo stato di una partita deve essere salvato su disco, in modo che la partita possa riprendere anche a seguito dell’interruzione dell’esecuzione del server.
    • Carte Personaggio: il gioco può essere giocato in due diverse modalità: modalità facile e modalità esperto. Quest'ultima, oltre a mantenere le stesse regole e componenti della modalità facile, aggiunge la possibilità di utilizzare delle carte esperto, che influenzano la partita mediante specifici effetti.

Compilazione e packaging

I jar sono stati realizzati con l'ausilio di Maven Shade Plugin. Di seguito sono forniti i jar precompilati. Per compilare i jar autonomamente, posizionarsi nella root del progetto e lanciare il comando:

mvn clean package

I jar compilati verranno posizionati all'interno della cartella target/ con i nomi PSP68-client.jar e PSP68-server.jar.

Jars

I Jar del progetto possono essere scaricati al seguente link: Jars.

Esecuzione

Questo progetto richiede una versione di Java 11 o superiore per essere eseguito correttamente.

Eriantys Client

Le seguenti istruzioni descrivono come eseguire il client con interfaccia CLI o GUI.

CLI

Per lanciare Eriantys Client CLI digitare da terminale il comando:

java -jar PSP68-client.jar --cli

GUI

Per poter lanciare la modalità GUI sono disponibili due opzioni:

  • effettuare doppio click sull'eseguibile PSP68-client.jar
  • digitare da terminale il comando:
java -jar PSP68-client.jar

Erantys Server

Per lanciare Eriantys Server digitare da terminale il comando:

java -jar PSP68-server.jar [--port <port_number>]

Parametri

  • --port -p : permette di specificare la porta del server. Se non specificato il valore di default è 16847;

Peer Review

Le peer review a noi fatte:

Le peer review da noi fatte: -peer review riguardante l'uml iniziale -peer review riguardante il protocollo di rete

Componenti del gruppo

About

Full videogame implementation of the Eriantys board game, complete with GUI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •