/ingsw2022-AM33

Progetto finale Ingegneria del Software 2022 - Eriantys

Primary LanguageJava

Final examination of Software Engineering 2021-22

Build

Final score: 30 cum laude

Eriantys

Eriantys box

The project consists in developing a software version of the board game Eriantys.
The project includes:

  • initial UML diagrams;
  • final UML diagrams, automatically generated from the source code;
  • implementation of the game;
  • documentation of the communication protocol;
  • documents of the peer review;
  • source code of the game;
  • source code of unit tests.

The implementation must comply with the rules of the game.

Functionalities

Functionality Status
Simplified rules
Complete rules
Socket
CLI
GUI
All character cards
4 players
Multiple Games
Persistence
Disconnections control
Legend

Code coverage

All classes for model, lobby, controller and messages were tested.

Package Class Coverage Method Coverage Line Coverage
server 100% (62/62) 94% (436/460) 92% (1805/1958)
controller 100% (3/3) 100% (28/28) 92% (170/183)
lobby 100% (3/3) 100% (22/22) 98% (112/114)
model 100% (52/52) 94% (353/372) 92% (1384/1491)
network 92% (51/55) 93% (163/175) 93% (451/483)
messages 96% (48/50) 94% (155/164) 95% (435/454)

Building

Dependencies

  • JDK 17
  • Maven 3

Run Maven

mvn clean install

This will build the project and install all dependencies creating a jar file inside in the target directory.

Start Eriantys

After building the project, you can start the game in 3 different modes by appending the following arguments to the command:

java -jar AM33-1.0-SNAPSHOT.jar

  • -s: starts the game in Server mode
  • -c: starts the game in CLI mode
  • or -g: starts the game in GUI mode

Server mode

When starting the game in Server mode, you can also specify the port number to use by appending the following argument to the command:

  • -p <port>: the port number to use

If not specified, the default port number is 1234.

Team