Skip to content

Astesia-0902/IS23-AM21

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Prova Finale Ingegneria del Software 2023

IS23-AM21

Display_1

Implementazione del gioco da tavolo My Shelfie. Il progetto è stato sviluppato per il corso di Ingegneria del Software 2022/2023 presso il Politecnico di Milano. Il progetto consiste in un'applicazione Java che permette di giocare a My Shelfie in modalità Multiplayer (2-4) e Online. Il rete è stata implementata sia tramite Socket che tramite RMI.

Componenti del gruppo

Functionality State
Basic rules 🟢
Socket 🟢
GUI 🟢
TUI 🟢
Multiple games 🟢
Persistence 🔴
Resilience to disconnections 🔴
Chat 🟢

Test Coverage

Element Class % Method % Line %
Bag 100% 100% 85%
Board 100% 90% 88.7%
Shelf 100% 100% 96.2%
Chat 100% 90% 89.1%
CommonGoal 100% 100% 96.8%
PersonalGoal 100% 72.7% 80.5%
Match 100% 87.1% 88.8%
Game 100% 81.8% 50.6%
Player 100% 80.5% 77.6%
VirtualView 100% 94.2% 97.4%
ServerVirtualView 100% 80% 80%

Documentazione

UML

I diagrammi UML sono disponibili al seguente link: UML

Javadoc

La documentazione Javadoc è disponibile al seguente link: javaDoc

Jars

Il file del client è suddiviso in file delle immagini e jar, durante l'esecuzione della gui, i due file devono trovarsi nella stessa cartella. I jar eseguibili sono disponibili al seguente link: Jars

TUI

Per avviare il gioco in modalità TUI è necessario eseguire il seguente comando da terminale: java -jar client.jar -tui

GUI

Per avviare il gioco in modalità GUI è necessario eseguire il seguente comando da terminale: Fare doppio click sul client.jar

Funzionalità

Funzionalità Sviluppate

  • Regole Complete
  • TUI
  • GUI
  • RMI
  • Socket
  • 2 FA (Funzionalità Avanzate):
    • Partite Multiple: il server deve poter gestire più partite contemporaneamente.
    • Chat: i giocatori possono comunicare tra loro tramite una chat testuale.

Utilized Software

Libreria/Plugin Descrizione
Maven Dependency management.
IntelliJ Main IDE for project development.
JSON JSON parsing library (used for loading game resources such as cards,leaders.. and for network protocol).
Swing Graphic interface library.
Draw.io - Diagrams.net UML and sequence diagrams.
JUnit Unit testing framework.

About

My Shelfie Simulator (Final Project of Ingegneria di Software)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •