Skip to content

Software Engineering Project 2019/2020: server-client implementation of the table game "Santorini" from CranioCreations SNC

Notifications You must be signed in to change notification settings

riccardopaltrinieri/Santorini-desktop-game

Repository files navigation

Prova Finale Ingegneria del Software 2020

Gruppo GC23

alt text

Santorini

Santorini is an abstract strategy board game for 2-4 players. Inspired by the architecture of cliffside villages on Santorini Island in Greece, the game is played on a grid where each turn players build a town by placing building pieces up to three levels high. To win the game, players must move one of their two characters to the third level of the town.

Gameplay

Each turn of play involves moving one of your two pieces around a 5-by-5 grid each turn and then placing a tile adjacent to the moved piece, building up that spot of the board. On subsequent turns, pieces may be moved onto one of these built-up tiles, but only one level up at a time. Pieces may also be moved down any number of levels. Players may also place a special dome tile on top of a three level building, which prevents a player from moving onto that spot for the remainder of the game. The primary winning condition is to get one of your pieces onto the third level, though players may also win if their opponent is unable to make a move. There is a god powers variant, which gives each player a unique way to break the rules. God Powers are cards that provide you with a powerful ability that can be used throughout the game. Many God Powers change the way Workers move and build.

UML

In deliverables there are two files with the UMLs of project:

Function

Functionality State
Basic rules GREEN
Complete rules GREEN
Socket GREEN
GUI GREEN
CLI GREEN
Undo GREEN
Multiple games RED
Advanced god RED
Persistent games RED

Jars

After the download you can start the game with jars. For a simplier use we have created three file.bat.

JAR execution

Client

To run the client: Go to the deliverables and choose your favorite Interface:
CLI : open ClientCli.bat
GUI: open ClientGui.bat

Server

To run the server: open Server.bat
Open the network.json file.
Here you can set ip and port of Server. The default is:
{ "port": "12445",
"ip": "127.0.0.1"
}

Test

Overall Coverage Summary

Package Class, % Method, % Line, %
all classes 64,2% (34/ 53) 52,1% (149/ 286) 39,2% (760/ 1940)

Coverage Breakdown

Package Class, % Method, % Line, %
it.polimi.ingsw 33,3% (1/ 3) 20% (1/ 5) 4,2% (2/ 48)
it.polimi.ingsw.Controller 100% (6/ 6) 100% (20/ 20) 98,8% (167/ 169)
it.polimi.ingsw.Model 100% (6/ 6) 100% (58/ 58) 100% (256/ 256)
it.polimi.ingsw.Model.Divinities 100% (10/ 10) 100% (30/ 30) 100% (115/ 115)
it.polimi.ingsw.Network 0% (0/ 2) 0% (0/ 27) 0% (0/ 235)
it.polimi.ingsw.View 40% (4/ 10) 43,8% (21/ 48) 23,4% (156/ 667)
it.polimi.ingsw.View.Graphics 0% (0/ 9) 0% (0/ 75) 0% (0/ 365)
it.polimi.ingsw.utils 100% (7/ 7) 82,6% (19/ 23) 75,3% (64/ 85)

About

Software Engineering Project 2019/2020: server-client implementation of the table game "Santorini" from CranioCreations SNC

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages