Eriantys is the final test of "Software Engineering", course of "Computer Science Engineering"
held at Politecnico di Milano (2021/2022).
Professor: Gianpaolo Cugola
Group: GC-45
The team:
Final Grade: 30/30 cum laude ( ͡° ͜ʖ ͡°)
The project consists of a Java version of the board game Eriantys.
The project includes:
- High level uml diagram;
- Complete uml diagram;
- Peer Reviews of model and network of group GC-55;
- Source code of the game implementation;
- Source code of junit tests;
- Compiled JAR file;
- A little easter egg ;), tell us if you manage to find it :D
Functionality | Status |
---|---|
Basic Rules | ✔️ |
Complete Rules | ✔️ |
CLI | ✔️ |
GUI | ✔️ |
Socket | ✔️ |
Character Cards (FA 1) | ✔️ |
4 Players Match (FA 2) | ✔️ |
Multiple Matches (FA 3) | ✔️ |
Almost all model
and controller
classes have a class and method coverage of 100%.
Coverage: code lines covered.
Package | Class | Coverage |
---|---|---|
Model | Entire Package | 94% (720/763) |
Controller | Entire Package | 82% (250/303) |
Controller | ClientHandler | 69% (53/76) |
Controller | Controller | 90% (166/184) |
Controller | Server | 72% (31/43) |
To run the test and compile the software:
- Install Java SE Development Kit 18
- Install Maven
- Clone this repo by either downloading the
.zip
and extract it, or using thegit clone
command. - Open a terminal, navigate to the project folder and compile sources of the package:
cd /path/to/project/home/directory mvn clean package
Once installed all requirements and compiled the project, open a terminal and go to the project target directory. Once there it is possible to choose to run the server or the client (CLI or GUI):
java -jar Eriantys.jar -s
or
java -jar Eriantys.jar --server
java -jar Eriantys.jar -c
or
java -jar Eriantys.jar --cli
java -jar Eriantys.jar
To run the Client (GUI) it is also possible to open the JAR file directly from the file explorer.
In order to play, you'll have to launch at least one server and two clients (either CLI or GUI).
WARNING: For the best GUI experience it is strongly suggested to play with a screen resolution of 1920x1080 (100% DPI) and with a scaling of 100%.
WARNING: For the best CLI experience it is strongly suggested to play with the terminal in fullscreen mode. Zoom out and refresh if it's not visible at the beginning. Based on the system setting, zooming out/in the terminal could improve the appearance of the game.