/ingswAM2021-Bernardelle-Civelli-Amati

The project consists of a Java version of the board game Maestri del Rinascimento

Primary LanguageJava

MAESTRI DEL RINASCIMENTO - Progetto IngSW - 2021

Project Description

The project consists of a Java version of the board game Maestri del Rinascimento by CranioCreations.

This repository includes:

  • initial UML diagram;
  • final UML diagram, automatically generated;
  • the actual Game;
  • all required resources to run the game.

How to play

Our game both supports local games and online.

  • In order to play in local mode you will need to run a client (either CLI or GUI) and once the game asks for playing local or online you will need to go for the first option;
  • You can also play online but you will need a running server and at least 1 client. If you can't run a server on your own you can use ours. You can start playing simply connecting to this ip address 35.212.247.189 and port 6754.

Running

Advices for better Gameplay

  • CLI is best played at full screen on the terminal with a dark background
  • In GUI the game is optimized for a 1920 x 1080 screen but can be played with a lower resolution. If your screen has a resolution higher than 1080p the game will probably look small for you so it is advised to adjust the screen resolution

Unexperienced users

For the unexperienced user it is possible to simply double click the jar file to run the game in GUI client mode.

Experienced users

To run the jar via Terminal you need to go to the project Shade directory where the jar is located.
You can use the command: java -jar <jarname>.jar --help for more informations
NOTE: by default the program will start in GUI client mode.

Server mode

To run the jar in server mode you can use the following commands:
java -jar <jarname>.jar -s or java -jar <jarname>.jar --server

Client mode

To run the jar in client mode you can use the following commands:

  • for GUI -> java -jar <jarname>.jar -g or java -jar <jarname>.jar --gui
  • for CLI -> java -jar <jarname>.jar -c or java -jar <jarname>.jar --cli
    For the best experience in CLI mode you should use the Linux/Unix bash shell (you can also play in Windows using wsl).

Implemented Functionalities

Functionality Status
Basic rules GREEN
Complete rules GREEN
Socket GREEN
CLI GREEN
GUI GREEN
Local Game GREEN
Multiple Games GREEN
Disconnection Resilience YELLOW

GREEN Implemented     YELLOW WIP

Test Coverage

Coverage criteria: code lines.

Package Coverage
model 80%
model: leadercard 80%
model: market 87%
model: singleplayer 72%
model: track 92%
controller 56%

Project Documentation

Running Javadocs Communication
Protocol
Message
Tables

The Team

Gameplay Screenshots