Functions for working with a hexagonal settlers of catan grid
This module implements the coordinate system described in Robert S. Thomas's PhD dissertation on JSettlers2, Appendix A. See the project at https://github.com/jdmonin/JSettlers2 for details.
Supports Python 3. Might work in Python 2.
See hexgrid.py
for thorough documentation.
Author: Ross Anderson (rosshamish)
pip install hexgrid
See https://github.com/rosshamish/catan-spectator for extended usage.
The module is a soup of functions which compute various transforms on tile, node and edge coordinates. Functions are well documented - read function names and docstrings in the code for more info.
The coordinate system is the one described in Robert S. Thomas's PhD dissertation on JSettlers2, Appendix A. See the project at https://github.com/jdmonin/JSettlers2
The idea is that there are three things: tiles, nodes, and edges.
All three have integer coordinates.
Tiles also have identifiers, which range from 1 through 19.
The coordinates are such that it's easy to compute a tile, node, or edge's neighbours by adding and subtracting. See the dissertation and/or the code for details.
- Tile identifiers
- Tile coordinates
- Node coordinates
- Edge coordinates
GPLv3