Package catan provides models for representing and manipulating a game of catan
Board coordinates must be specified as described in module [`hexgrid`](https://github.com/rosshamish/hexgrid).
`.catan` files will be written to the working directory by class Game (see [`catanlog`](https://github.com/rosshamish/catanlog)).
class Game also supports undo and redo, which is useful for building GUIs.
Supports Python 3. Might work in Python 2.
> Author: Ross Anderson ([rosshamish](https://github.com/rosshamish))
pip install catan
players = [Player(1, 'ross', 'red'),
Player(2, 'josh', 'blue'),
Player(3, 'yuri', 'green'),
Player(4, 'zach', 'orange')]
board = catan.board.Board()
game = catan.game.Game(board=board)
print(game.get_cur_player()) # -> ross (red)
See [`catan-spectator`](https://github.com/rosshamish/catan-spectator) for extensive usage.
### File Format
<!-- remember to update this section in sync with "File Format" in github.com/rosshamish/catan-spectator/README.md -->
catan-spectator writes game logs in the `.catan` format described by package [`catanlog`](https://github.com/rosshamish/catanlog).
They look like this:
green rolls 6
blue buys settlement, builds at (1 NW)
orange buys city, builds at (1 SE)
red plays dev card: monopoly on ore
Most classes and modules are documented. Read the docstrings! If something is confusing or missing, open an issue.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.