Eriantys Board Game is the final test of "Software Engineering" course of "Computer Science Engineering" held at Politecnico di Milano (2021/2022).
Teacher: Gianpaolo Cugola
Grade: 30 / 30
The project consists of a Java version of the board game Eriantys, made by Cranio Creations. You can find the real game here.
Project requirements: link.
The final version includes:
- Initial UML diagram.
- Final UML diagram, generated from the code by automated tools.
- Working game implementation, which has to be rules compliant.
- Source code of the implementation.
- Source code of unity tests.
Functionality | Status |
---|---|
Basic rules | ✅ |
Complete rules | ✅ |
Socket | ✅ |
CLI (Command Line Interface) | ✅ |
GUI (Graphical User Interface) | ✅ |
Functionality | Status |
---|---|
12 character cards | ⛔ |
4 players option | ⛔ |
Simultaneous games | ✅ |
Persistence | ✅ |
Resilience to disconnections | ⛔ |
⛔ Not implemented ✅ Implemented
Package | Class, % | Method, % | Line, % |
---|---|---|---|
Model | 100% (29/29) | 87% (183/208) | 82% (597/721) |
Controller | 100% (5/5) | 97% (44/45) | 86% (223/257) |
Regardless of the operating system, you must have installed the following programs:
- Java 17
- Maven 3.3+ (e.g. 3.8.6)
On Windows it is needed to:
- Set system visual scaling to 100%.
- Only for CLI:
- Set the CMD font to "Lucida Console" (the towers will show up as rectangles
▯
, if you want them to show up as tower character♜
please install the font "DejaVuSansMono.ttf", find it in deliverables folder, and set it for the CMD). - Run the
chcp 65001
command in the CMD. This enables UTF-8 encoding.
- Set the CMD font to "Lucida Console" (the towers will show up as rectangles
-
Clone this repository:
git clone https://github.com/nicolozambon/ing-sw-2022-sciarrabba-sironi-zambon
-
Move to the repository folder.
-
Build the client package and move it from
target
to a new directory:mvn clean package -P client
-
Build the server package and move it from
target
to a new directory:mvn clean package -P server
-
Move to the new directory and execute the server and a client:
java -jar server.jar java -jar client.jar
Note that the client also accepts arguments at startup. In fact, it can also be started as:
-
For CLI version:
java -jar client.jar -cli
-
For GUI version:
java -jar client.jar -gui
-