Members of the group:
- Corbo Simone (simone.corbo@mail.polimi.it)
- De Gennaro Valeria (valeria.degennaro@mail.polimi.it)
- Delton Matteo (matteo.delton@mail.polimi.it)
- Di Raimondo Metallo Beatrice (beatrice.diraimondo@mail.polimi.it)
Legend:
- 🟢: implemented
- 🟡: work in progress
- 🔴: not implemented
Feature | Status |
---|---|
Complete rules | 🟢 |
TCP | 🟢 |
RMI | 🟢 |
CLI | 🟢 |
GUI | 🟢 |
Resilience | 🟢 |
Persistence | 🟢 |
Multiple games | 🔴 |
Chat | 🔴 |
The UML diagrams and our peer reviews can be found in the deliverables folder.
To play My Shelfie, follow these steps:
- Make sure to have the
java
executable in yourPATH
; - Open a terminal and type
cd <project-root>/deliverables/JARs/
, where<project-root>
is the root of this repository; - Run the server with:
java -jar AM13_Server.jar
- In another terminal, run the client, specific to the operating system it being used, with:
- Windows:
java -jar AM13_Client_Windows.jar
- macOS:
java -jar AM13_Client_macOS.jar
- Windows:
When launching the client, you can specify the following options (after AM13_Client_*.jar
):
Option | Possible value(s) | Default value | Description |
---|---|---|---|
-h or --help |
- | - | Prints the help message and exits |
-v or --view |
cli or gui |
gui |
Selects the view to use |
Options that require an argument must be followed by a space or an equal sign and the argument itself.
The default values are set in the settings.properties
in src/main/resources/it/polimi/ingsw folder.
After connecting to the server, in the login screen under the 'Settings' tab, the user can select the language they want
to use.
The available languages are English, Italian, French, Spanish, Catalan, Japanese, Bergamasco and Siciliano.
The last two being the spoken Italian dialects of our group.
Our vision, since the beginning of the project, was to create a highly modular and customizable game, making it easy to
add new features and change existing ones.
In the folder src/main/resources/it/polimi/ingsw there are all the settings files
and configurations:
settings.properties
andsettings.json
contain the default values for theBookshelf
class, such as the number of rows and columns, making it possible to (maybe one day…) play with a custom-built bookshelf;usable_cells.json
contains the usableBoard
cells for each player configuration;common_goals.json
andpersonal_goals.json
contain the goals for the game, leaving open the possibility to add new ones. In theCommonGoal
creation, it is possible to set different parameters when creating a specificLayout
, as the foundation to a more customizable experience for the player.