Eriantys is the game chosen as the (2021/2022) project of the Software Engineering course at Polimi
Functionality | Status |
---|---|
Simplified ruleset | ✅ |
Advanced ruleset | ✅ |
Basic server requirements | ✅ |
Basic CLI requirements | ✅ |
Basic GUI requirements | ✅ |
All 12 Character cards | ✅ |
2, 3 and 4 players game | ✅ |
Multiple games running on the same server | ✅ |
Public and private lobbies on server | ✅ |
Persistence | ❌ |
Disconnection resilience | ❌ |
❌ Not Implemented
✅ Implemented
Follow this link for an unfiltered version of the coverage report or follow this link for one of only Model and Controller.
Follow this link to access the javadocs page for this project.
All requested deliverables for use in the project review and assessment can be found here.
Make sure you have the latest Java 18 jdk installed before you attempt to build or run this project.
If you wish to build the package from source (on most Linux based distros):
git clone https://github.com/nylone/ing-sw-2022-rampone-rossi-salerno.git # clone the repo
cd ing-sw-2022-rampone-rossi-salerno # cd into the root of the repo
mvn clean install # tell maven to generate the package from source
Otherwise: you can download the latest release from the Packages section on the Github page.
Assuming the release package is named project.jar
, run the following command in the root directory of the
project to start the application:
java --enable-previw -jar project.jar
Starting the application with no additional arguments will print a help message
The available command line options are the following:
Option | Function | Maximum instances of same argument | Additional info |
---|---|---|---|
s |
Start the server | 1 | by default bound to 0.0.0.0:8080 |
c |
Start the CLI | 1 | |
g |
Start the GUI | unlimited | |
h or -h |
Prints out the help message | 1 | same message appears when app is called with incorrect arguments |
-d |
Enables the logger | 1 | by default no logging is done |
-local |
Force the server to bind to a loopback interface | 1 | default bound address is 0.0.0.0 |
-port:XYZ |
Force the server to bind to port XYZ | 1 | default port is 8080 |
Note: the only argument that can be repeated in the call to the application is the one to start the GUI, in case the user wants to run multiple interfaces with one call to the application.
Note: we advise users running a CLI to not enable the -d
flag as it can clutter the UI and makes for a terrible
game experience.
Name | Purpose |
---|---|
IntelliJ IDEA | IDE and UML diagrams |
Astah UML | UML diagrams |
Java 18 | Java release |
Java Swing Library | GUI |
Apache Maven Project | Dependency management |
This project is developed in collaboration with Politecnico di Milano and Cranio Creations