This repository contains a Java version of the game Eriantys. The project has been developed for the course Software Engineering at Politecnico di Milano as a final part of examination for the Bachelor in Computer Engineering. The contributors were:
Functionalities | Status |
---|---|
Basic Rules | ✓ |
Complete Rules | ✓ |
Socket | ✓ |
CLI | ✓ |
GUI | ✓ |
Character Cards | ✓ |
Four Players Match | ✓ |
Multiple Matches | ✖ |
Persistence | ✖ |
Resilience | ✓ |
🟥Not Implemented 🟨Implementing 🟩Implemented
To start the game you need to download JavaSE 18 (or updated versions).
Download the repo as it follow
git clone https://github.com/AlexTischer/ing-sw-2022-Shpakov-Stefanizzi-Tischer.git
on linux. For Windows should be necessary download the repo in zip format and then unzip it.
The executable files are stored in the /JARs
directory.
To start the server, open a terminal in the same directory of the Server.jar file and type:
java -jar Server.jar
This way the server will be listening to port 46582
You can also choose a custom port typing:
java -jar Server.jar #port
Now the server has started.
To start the server, open a terminal in the same directory of the Client.jar file and type:
java -jar Client.jar
This way the client will, by default, try to connect to 127.0.0.1 : 46582
You can also choose a custom ip and port (or only ip) typing:
java -jar Client.jar #ip #port
On startup, the client will first ask you whether you want to play with GUI or with CLI and then will try to connect to the (specified) ip:port
Do you want to use CLI or GUI?
cli
Connection established with server: /127.0.0.1:46582
Start the server and the clients (2, 3 or 4 of them): the first client that will connect to the server will configure the match, the others will only be asked to insert their name. The first turn's order of play will be randomly generated by the server, as well as teams in case of a four players match.
You can find the english rules here
The game app is self-explainatory once you know the rules, and, anyway, you will be guided in every phase of your turn.
It is always possible rejoin an already started match using the same nickname
as before.
In this project were used the following tools:
- LucidChart - UML Diagram
- Maven - Dependency Management
- IntelliJ - IDE
- JavaFX - Graphical Framework
You can find the whole documentation here.
The tests have reached the following coverage.
You can find the UMLs here. Unfortunately, due to an Intellij Idea known bug,
we cannot export the complete lowlevel UML as an image. .uml
file is included instead.