A CLI simulation of the santorini board game. Find the link to the board game instructions here. This will only include the simplest version of the game (page 1 of the instruction manual).
Type python3 main.py [white_type] [blue_type] [undo/redo] [score_display]
to run the game. The options for the optional arguments are as follows:
[white_type]
: The player type of the white player. Options includehuman
,random
, orheuristic
. Default ishuman
.[blue_type]
: The player type of the white player. Options includehuman
,random
, orheuristic
. Default ishuman
.[undo/redo]
: Enable or disable undo/redo functionality for human game mode. Options includeon
oroff
. Default isoff
.[score_display]
: Enable or disable the displaying of various scores in an ordered list that quantify advantages in the game. Options includeon
oroff
. Default isoff
. In order, the values in the score tuple represent theheight_score
(the sum of heights of the buildings a player's workers stand on),center_score
(for each piece: 2 points for center position, 1 point for a position in the ring surrounding the center, and 0 points for the edge spaces), anddistance_score
(sum of the minimum distance to the opponent's workers). All scores are combined in a weighted combination called themove_score
wheremove_score = c1*height_score + c2*center_score + c3*distance_score
. Themove_score
is used as a metric to quantify the quality of move and is used for the semi-AI heuristic player to judge and make the next-best move.