Name | Surname | Codice Persona | GitHub | |
---|---|---|---|---|
Claudio | Arione | [email protected] | 10699544 | claudioarione |
Riccardo | Begliomini | [email protected] | 10696621 | iVoid73 |
Giuseppe | Boccia | [email protected] | 10716235 | giuse-boccia |
Functionality | Advanced | State |
---|---|---|
Complete rules | No | ๐ข |
Socket | No | ๐ข |
GUI | No | ๐ข |
CLI | No | ๐ข |
12 Characters | Yes | ๐ข |
4 Players Game | Yes | ๐ข |
Multiple Games | Yes | โซ |
Persistence | Yes | ๐ข |
Disconnection resilience | Yes | โซ |
๐ด -> Not started
๐ก -> In progress
๐ข -> Complete
โซ -> Will not implement
- Random nickname generator: allows the user to participate in a match with a random-chosen username. This is possible either clicking on the apposite button in GUI or leaving blank the username field when asked
- Internationalization: it's possible to play Eriantys in different languages - currently Italian and English - according to the choice of the user.
Game language can be chosen from the apposite popup in the login screen (for GUI) or setting a language tag (two letters) in the game_language field in the
settings.json
file - Game chat: in GUI, players can communicate through a chat panel which opens up when the corresponding button - in the bottom right of the screen - is pressed
- Basic security of the communication: the user, playing accordingly to the game rules, cannot send "wrong" messages, but, in any case, the server blocks corrupted messages. For example, messages coming from not logged-in users are blocked (even if they pretend to be a logged-in player)
To use the application launch the JAR file from a terminal (Linux, MacOS) or Powershell (Windows).
Note We cannot ensure an optimal CLI game experience on Windows Command Prompt (cmd.exe)
java -jar ./deliveries/Jar/Eriantys.jar [SERVER | GUI | CLI] [PORT] [ADDRESS]
Warning
JDK 18 is required to run the application - to install it you can follow the steps in Installation page
Note In the /deliveries/jar folder you will find
Eriantys.jar
and another folder containingEriantys_b4m1.jar
.Eriantys.jar
is tested and working on Windows, Linux and MacOs with M1 architecture; however, this jar can show compatibility problems on MacOs with older architectures.Eriantys_b4m1.jar
works fine on all Intel Apple PCs.
๐ง In case of compatibility problems with provided jar files just clone the repository and run
mvn package
All arguments are optional.
- If the
[SERVER | GUI | CLI]
is omitted than GUI is launched - If both the
PORT
andADDRESS
parameters are omitted then those values are taken from the configuration file insettings.json
. An examplesettings.json
file can be found insettings.json
To launch the server using the port found in settings.json
java -jar ./deliveries/Jar/Eriantys.jar server
Alternatively the port can be provided by argument. For example, to launch a server listening on port 7373:
java -jar ./deliveries/Jar/Eriantys.jar server 7373
To launch the cli using the server port and server address found in settings.json
java -jar ./deliveries/Jar/Eriantys.jar cli
Alternatively port and address can be provided by argument. For example, to launch a CLI client searching for a server at 192.168.1.10:7373 (note: local address, to play from different LANs port forwarding is required)
java -jar ./deliveries/Jar/Eriantys.jar cli 7373 192.168.1.10
To launch the gui using the server port and server address found in settings.json
java -jar ./deliveries/Jar/Eriantys.jar gui
Alternatively port and address can be provided by argument. For example, to launch a CLI client searching for a server at 192.168.1.10:7373 (note: local address, to play from different LANs port forwarding is required) Note: if port and address are provided as arguments (without using the settings.json file) the gui argument cannot be omitted
java -jar ./deliveries/Jar/Eriantys.jar cli 7373 192.168.1.10
Package | Method | Line |
---|---|---|
Model | 96% (235/243) | 95% (813/849) |
Controller | 92% (50/54) | 90% (420/462) |
Exceptions | 100% (12/12) | 100% (12/12) |