Score keeping software for Carcassonne to facilitate statistical analysis of games.
Information (players, games, scores, expansions) are stored in a sqlite3 database.
The location of this database defaults to CarcassonneScore.db
, but can be specified in the CarcassonneScore.conf
configuration file.
Detailed information in requirements.txt
- python 3
- numpy
- matplotlib (only needed for for analysis scripts)
Before your first game you will need to initialize the sqlite database:
$ python manage_database.py --init
After a database has been initialized, you can score a game with:
$ python CarcassonneScore.py
This launches the interactive shell which sets up a game (gets the names and order of players, list of active expansions, and other information).
Within this shell various commands are available to record scores, advance to a next player's turn, and end the game.
Press ?
within the shell for a list of commands (note that the list of available commands may change depending on the expansions being played and whether the game is in active tile-placing mode or post-game scoring mode).
To update the database (e.g., to add new players or toggle availability of expansions), use the manage_database.py
command. For example, to add a new player:
$ python manage_database.py -n NEW PLAYER
Use python manage_database.py -h
to see the full list of options.
Some jupyter notebooks with sample analysis and a sample sqlite database containing one game are available in the analysis/
directory.
The utilities/
directory contains scripts which may be useful for correcting issues, but these should not be needed for normal operations.