Santorini project of group GC54 (Massimo Valle, Simone Sangeniti, Magdy Refaie)
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.
The following documentation contains documents and charts used for the design of the game.
The major part of Server code is documented by JavaDoc, expecially Model and Controller packages.
Library/Plugin | Description |
---|---|
maven | management tool for Java-based software and build automation |
junit | Java framework for unit testing |
JavaFx | Java graphics library |
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.
- Complete rules
- CLI
- GUI
- Socket
- Multiple games
- 5 advanced gods added:
- Chronus
- Hera
- Hestia
- Triton
- Zeus
First of all, you have to start the server using the command below and then you could start one of the client's interfaces.
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.
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;
You have to type the following command which launches the GUI:
java -jar GUI.jar
You have to type the following command which launches the server:
java -jar server.jar
- IntelliJ IDEA - The IDE used
- Maven - Dependency Management
- JUnit - Unit Testing Framework