Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

Software Engineering Project: Java implementation of a real boardgame (2017)

Notifications You must be signed in to change notification settings

dev-matru/Lorenzo_Il_Magnifico_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lorenzo Il Magnifico

Team Members:

How to play:

In order to play this game you'll have to run a CLIENT and a SERVER:

  • SERVER: to start server you've to run the main method of GameServer's class that can be found in the path: [it.polimi.ingsw.gc31.server].

  • CLIENT: the client can be start in three different classes in the path: [it.polimi.ingsw.gc31.client]

    • ClientApp: start a client and choose to use CLI or JAVAFX;

    • ClientCLI: start a client using Command Line Interface (CLI);

    • ClientFX: start a client using JAVAFX;

    After choosing a UI, independently from where did you start it, you'll be asked to enter a Username, followed by the serverIP to which connect, and finally the Connection Method that can be SOCKET or RMI.

Project Structure:

The project adopts a Model View Controller (MVC) Pattern and is divided into several packages:

  • SERVER: this side uses to following packages in [it.polimi.ingsw.gc31]:
    • controller
    • enumerations
    • exceptions
    • messages
    • model
  • CLIENT:
    • client
    • enumerations
    • messages
    • view

You can find UML's diagrams for this project:

  • uml_diagram1: only classes and relationships;

  • uml_diagram2: classes with methods;

  • uml_diagram3: classes with methods and attributes (Not package "view", because is too big).

Configuration Files:

Configuration files can be found in src/config. They are used to define the various configurable elements of the game such as the cards, board, player tiles and excommunication tiles.

  • Card.json: defines all the cards with their values.

  • Settings.json: general settings for the game, it has three main parts:

    • gameSettings: in here you can define the wait time (in seconds) before starting a new game and the wait time for a player move. serverWait and playerWait respectively
    • parchments: the various parchment effects.
    • gameBoard: the game board.
  • PlayerTile.json defines the five player tiles that can be used. The first one (ID = 0) is the default one when playing with simplified rules.

    • rules: defines the rules whether to use the default player tile or advanced one. To use the default player tile for all players, set this to default.
  • FaithTile.json defines all the faith tiles.

  • FaithPoints Defines the number of victory points you get for an amount of faith points.

About

Software Engineering Project: Java implementation of a real boardgame (2017)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages