Final score: 30 cum laude
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.
Functionality | Status |
---|---|
Simplified rules | |
Complete rules | |
Socket | |
CLI | |
GUI | |
All character cards | |
4 players | |
Multiple Games | |
Persistence | |
Disconnections control |
Legend |
---|
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) |
- JDK 17
- Maven 3
mvn clean install
This will build the project and install all dependencies creating a jar file inside in the target
directory.
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-g
: starts the game in GUI 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
.