/ing-sw-2020-Manglaviti-Marinaro-Marinello

Final examination of Software Engineering course (Ingegneria del Software) - A.Y. 2019/2020 Politecnico di Milano - Bachelor of Science thesis project

Primary LanguageHTML

Santorini

SANTORINI README LOGO

About Santorini

Santorini is an abstract strategy board game inspired by the architecture of Santorini Island in Greece. Move your builders, rise to the top of the tower and take the glory. Gods are looking, don't let them down!

For 2-3 players. 5-15 minutes per match.

Game rules here.

Index

Prerequisites

This game requires at least Java 11 to run.

Requirements

The project requirements can be found here

Usage

The server must be up and running to play a game.

Server

The following command is used to start a server:

java -jar Santorini.jar -server

Server can start from command line only.

Client

The following command is used to start a client form command line:

java -jar Santorini.jar -client [-cli/-gui]

Options

  • -cli if you want to use the Command Line Interface
  • -gui if you want to use the Graphical User Interface

Default mode is -gui. If you type

java -jar Santorini.jar -client

the client will start in GUI mode.

If you double click on the application, client in GUI mode will start.

CLI Example

README CLI EXAMPLE

On the left part there is the board:

  • the external cells represent the coast of Santorini isle;
  • the 5x5 internal matrix represents the usable board. Each of these cells contains a number (the level of the tower) and a symbol (♂ for the male builder, ♀ for the female one). Each builder has the color of its corresponding player.

On the right part there is the ordered list of the players, each one with its color and the chosen God in square brackets.

Birthday Insertion

If you insert an invalid birthday, God's of Olympus will punish you with a malus (your birthday will be automatically set to 1/1/1900, so that you will be the last player of the match). If you get the malus but you are not the last player of the match, maybe other player/s received the malus.

When manually writing down the birthday in the proper GUI 's textarea, remember to press ENTER to confirm, otherwise you will get the malus as well.

Features Covered

  • Complete Rules
  • Distributed System with MVC pattern
  • Socket
  • CLI
  • GUI
  • Advanced Gods
  • Multiple Matches (one server can handle multiple matches simultaneously)

Built with

Authors