Santorini GC54

alt text

Santorini project of group GC54 (Massimo Valle, Simone Sangeniti, Magdy Refaie)

Getting Started

The project's goal is to implement Santorini's game using the Model View Controller (MVC) architectural pattern and Object Oriented programming. The network is managed via a socket created between clients and server to send specific type of messages. There are two version of the client: a Command Line Interface (CLI) version showed in terminal and a Graphic User Interface (GUI) version showed in a windows, each one started by a jar.

Documentation

The following documentation contains documents and charts used for the design of the game.

UML

JavaDoc

The major part of Server code is documented by JavaDoc, expecially Model and Controller packages.

Coverage report

Libraries and Plugin

Library/Plugin Description
maven management tool for Java-based software and build automation
junit Java framework for unit testing
JavaFx Java graphics library

Jars

The following jars have been used for the delivery of the project, therefore they allow the game to be launched according to the features described in the introduction. The features created according to the project specification are listed in the next section while the details for how to launch the system will be defined in the section called Execution of the jars.

Requirements

Basic requirements

  • Complete rules
  • CLI
  • GUI
  • Socket

Advanced requirements

  • Multiple games
  • 5 advanced gods added:
    • Chronus
    • Hera
    • Hestia
    • Triton
    • Zeus

JAR Execution

First of all, you have to start the server using the command below and then you could start one of the client's interfaces.

Client

The client is run by choosing the interface to play with, you can choose between CLI or GUI. The following sections describe how to run the client in one way or another.

CLI

For a better command line gaming experience you need to launch the client with a terminal that supports UTF-8 encoding and ANSI escapes. To launch the client in CLI mode, type the following command:

java -jar CLI.jar

Cli tested on the new Windows Terminal on Windows, the default Terminal on macOS and ZSH on linux;

GUI

You have to type the following command which launches the GUI:

java -jar GUI.jar

Server

You have to type the following command which launches the server:

java -jar server.jar

Built With

Authors

  • Massimo Valle - student - Github
  • Simone Sangeniti - student - Github
  • Magdy Refaie - student - Github