Eriantys Board Game is the final test of "Software Engineering", course of "Computer Science Engineering" held at Politecnico di Milano (2021/2022).
The project consists in a Java version of the board game Eriantys, made by Leo Colovini.
We implemented this board game using according to the MVC (Model-View-Controller) pattern, using a single server able to handle one single match at a time and multiple clients, who can participate one only match per time. The network is mangaed with the use of sockets.
It is possible to choose between CLI (Command Line Interface) and GUI (Graphical User Interface)
Functionality | Status |
---|---|
Basic rules | ✅ |
Complete rules | ✅ |
Socket | ✅ |
CLI | ✅ |
GUI | ✅ |
12 Character Cards | ✅ |
Persistence | ✅ |
Match 4 Players | ⛔ |
Multiple games | ⛔ |
Connection resilience | ⛔ |
⛔ Not Implemented
In the UML directory can be found all our UML diagrams including:
- the initial UML class diagram of the whole project
- the initial sequence diagram with the network protocol documentation
- the final UML class diagram of the model package (generated with the help of Intellij)
- the final UML class diagram of the controller package (generated with the help of Intellij)
- the final UML class diagram of the view package (generated with the help of Intellij)
- the final UML class diagram of the network package (generated with the help of Intellij)
- the final UML class diagram of the whole project (generated with the help of Intellij)
Whereas in the peer reviews directory can be found all the peer reviews, the ones that we made and the ones that we received by other groups.
We use JUNIT5 to test our components, in particular we focused a lot on the Model covering about the 90% of its code. On the other hand the controller was difficult to test because of the network messages.
We generated two pre-compiled jar file, one for the server and one for the client and they can be downloaded at the following link: Jars directory.
In order to execute this project correctly a Java version 17 (or followings) is required. To execute the jars files is required to be placed in the deliverables/jar directory of this repository.
In order to launch the server you have to digit in your command prompt the following command:
java -jar PSP24-Server.jar
The first thing you will be asked is if you want to change the port number by writing it, we use the default value of 12345
In order to launch the client you have to digit in your command prompt the following command:
java -jar PSP24-Client.jar
The first thing you will be asked is if you want to launch the CLI or the GUI, by writing respectively a 'c' or a 'g'.