Skip to content

damiano1996/ing-sw-2021-derin-manini-valencic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering - Course Project


Implementation of the board game: Masters of Renaissance.


WARNING!

Due to copyright reasons we are not allowed to release assets that are necessary to execute the GUI version of the game.
Here you can find a short demonstrative gameplay.
The CLI version is still working.


Table of Contents

Team Members

In alphabetic order:

Surname Name Contact Info
Derin Damiano [email protected]
Manini Andrea [email protected]
Valencic Jas [email protected]

Implemented Functionalities

Requirements
Complete rules + CLI + GUI + Socket + 3 FA
Advanced Functionality Short Explanation
1 Multiple Matches The Server can handle more than one match simultaneously.
2 Persistence If the Server shuts down, you will be able to restore matches that have been interrupted this way.
3 Resilience to Disconnections If you lose the connection while playing, you'll be able to restore the match that have been interrupted.
Extra Functionality Short Explanation
1 Account Creation Players can create accounts.
2 Login Players can login with their credentials.
3 Music and Sound Effects While playing on GUI, you can play background musics and sound effects.
4 PDF Rules Players can read the PDF with rules of the game.
5 Global Leaderboard Thanks to persistence, players can see the scores of all the others.

Requirements

  • java >= 11
  • junit >= 4.11
  • com.google.code.gson >= 2.8.5
  • org.openjfx (javafx-controls) >= 15.0.1
  • org.openjfx (javafx-fxml) >= 11.0.2
  • org.openjfx (javafx-media) >= 11

Usage

Step 1: JAR files

Following the next steps you will be able to generate the JARs to play the game.

Generate JARs

  • Clone and browse in the directory of the project:
  $ git clone https://github.com/damiano1996/ing-sw-2021-derin-manini-valencic.git
  $ cd ing-sw-2021-derin-manini-valencic
  • Execute the following command from terminal to build and to generate JAR files:
  $ mvn package -Dmaven.test.skip=true
  • After termination of the build, files will be available in this directory.

Step 2: Running the Server

  • The server.jar can be executed by double click or with the following command in the terminal.

    We suggest executing it by the terminal to stop it easily, otherwise by double click it will run in background and to kill the application you should use the task manager.

  • Browse with the terminal in the directory where the server.jar is saved. Then run:

      $ java -jar server.jar

    At this point the server.jar should be running.

  • To turn off the server, enter the CTRL+C key combination in the terminal.


WARNING!

Do not run more than one server at a time on the same machine: if you do this, the same socket port will be used by all the servers causing problems.


Step 3: Running the Client

CLI Version

Screenshots from CLI

WARNING!

The CLI version of the game uses ANSI escape codes.
Windows terminal can't render them properly: in order to have a playable version of the CLI, a Unix-like terminal is required.
If you are on Windows, you must use a WSL terminal to run the CLI JAR.
A nice WSL terminal can be downloaded from the Windows store for free at the following link.
Lastly, if you use a WSL terminal to run the client.jar (CLI), you won't be able to see the PDF rules, please use the GUI version instead.


In order to run the client.jar in CLI mode follow these steps:

  • Browse with the terminal in the directory where the client.jar is saved.

  • To run the CLI version use this command:

      $ java -jar client.jar "-playingViewMode=cli"

    At this point the CLI version of the Client JAR should be running.

  • To turn off the CLI, you can select the "exit" command in the initial menu of the game.
    Another way to turn off the CLI is to enter the CTRL+C key combination in the terminal.

GUI Version (No assets, no party)

In order to run the GUI version of the client.jar, simply double-click on the icon of the client.jar.
At this point the GUI version of the Client JAR should be running.

To turn the GUI off, you can use the "exit" button in the menu.
Another way to turn the GUI off is to press the "View Board" button while playing and then close the window as usual by click on the top red X.

Another option is to stop the GUI by the task manager: use this method only if unable to perform the two above.

About

Software Engineering B - course project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages