-
Luca Favaro (@lucafavaro1)
[email protected] -
Emilio Corigliano (@EmilioCorigliano)
[email protected] -
Gianmarco Frangipane (@giamma-frangipane)
[email protected]
Functionality | Status |
---|---|
Basic rules | |
Complete rules | |
Socket | |
GUI | |
CLI | |
Multiple Games | |
Disconnection Resilience |
This project implements the complete rules of the game Maestri del Rinascimento with both a Command Line Interface and a Graphical User Interface, using sockets for client-server communication.
The deliverables folder contains the initial UML of the application, the final UML diagram (splitted in 5 parts) and three Sequence Diagrams illustrating how client and server communicate in various scenarios.
The 5 parts of Final UML Diagram partially overlap in order to make the application design more clear. A unique diagram couldn't be loaded for the excessive size.
The src folder contains source code and unit tests.
In the deliverables folder there are two jar files, one to run the Server and the other one to run the Client.
Server can be run with the following command:
java -jar ServerLauncher.jar
Client can be run with the following command, as default it runs in gui mode:
java -jar ClientLauncher.jar
This command can be followed by these arguments:
- -cli: to run the client in Command Line Interface mode
- -gui: to run the client in Graphical User Interface mode
N.B. CLI is not supported on windows platforms: the colors are not well interpreted. To use the CLI in a windows environment please use WSL (Windows Subsystem for Linux) or use a linux shell emulator (like git bash).
- draw.io - Model UML
- UMLet - Sequence Diagrams
- Maven - Dependency Management
- IntelliJ 2021 - IDE
- JavaFX - Graphical Framework
- SceneBuilder - Visual Layout Tool
The game requires Java 8 or later in order to run correctly.
Some details about the rules were not well explained. So we decided to handle some rules in the following ways:
- A leader card can be discarded even if it's enabled. One faith point will be added and all victory points and resources (if the leader card was a plus slot one) will be lost;
- The warehouse will automatically order itself during the insertion of new resources, so that the player can mainly focus on resource management;
- The Plus Slot leader cards won't permit the exchange of resources from or to the warehouse;
- When a disconnection occurs and the player is still playing his turn, he has 60 seconds to reconnect before he passes the turn to the next player.
This project is developed in collaboration with Politecnico di Milano and Cranio Creations.