Final test of Software Engineering, course of "Computer Science Engineering" held at Politecnico di Milano (2021/22).
Teacher Gianpaolo Cugola
The project consists in the implementation of the Eriantys board game through the MVC (Model View Controller) architecture, consisting of a Server and several Clients that can connect to it via the network. Clients allow you to interact with the game via command line (CLI) or graphical interface (GUI).
This project is written in Java and is built using Maven. Unit test are written using the Junit framework and coverage reports are generated using the Jacoco plugin. ****
Feature | Implemented |
---|---|
Basic mode | ✔️ |
Expert mode | ✔️ |
CLI | ✔️ |
GUI | ✔️ |
12 Character cards | ✔️ |
Multiple matches | ✔️ |
Resilience to disconnection | ✔️ |
Package | Class | Method | Line |
---|---|---|---|
Model | 100% (54/54) | 98% (371/376) | 99% (1442/1455) |
Controller | 100% (9/9) | 100% (51/51) | 92% (355/383) |
Once your computer meets the requirements you can type on a terminal the following commands to execute either the Server, CLI or GUI:
- Server:
java -jar Eriantys_Server_softeng-GC9.jar [port number, default:2345]
- CLI:
java -jar Eriantys_CLI_softeng-GC9.jar [ip] [port number]
- GUI:
java -jar Eriantys_GUI_softeng-GC9.jar
The only requirement is to install a version of java jdk greater than or equal to 17. Both openjdk and java jdk are suitable for the job, feel free to run the following apt command:
sudo apt update && sudo apt install openjdk-17-jdk
You need to install java JDK. You could need to set up the so called environment variables. To find out if you need to do this procedure you can type on your windows terminal the following command:
java -version
if the answer is an error you most likely have to follow the environment variable procedure, else you're good to go.
If you want to use the Command Line Interface, we recommand using an ANSI compatible terminal such as conEmu, but if you want to use the windows plain terminal, you need to run the provided .bat script to enable ANSI codes inside your terminal.
To modify the environment variables you need to type in your start
menu Environment Variables
and click on Edit the system environment variables
and again Environment Variables
.
Now in the user section click on Path
and then on Edit
, it should be possible now to create the variable selecting New
and typing the full path to the installed java bin folder.
Minimum RAM for GUI: 2GB free
If you are playing an expert match with the GUI, in order to activate a character card you just need to double click the card you want to activate. If a card's action requires to choose an island just double click it or if it requires a color selection just double click one of the student displayed above the cloud tiles.