A PettingZoo AECEnv implementation of the Fanorona board game.
Project description
Fanorona AEC Environment
A B C D E F G H I
5 ●─●─●─●─●─●─●─●─●
│╲│╱│╲│╱│╲│╱│╲│╱│
4 ●─●─●─●─●─●─●─●─●
│╱│╲│╱│╲│╱│╲│╱│╲│
3 ●─○─●─.─○─.─○─●─○
│╲│╱│╲│╱│╲│╱│╲│╱│
2 ○─○─○─○─○─○─○─○─○
│╱│╲│╱│╲│╱│╲│╱│╲│
1 ○─○─○─○─○─○─○─○─○
W to play
Last capture: E3 E
Visited: D3, E3
Half-moves: 0
This is an implementation of the Fanorona board game as a PettingZoo AEC game. The rules have been sourced from here. An additional rule where games exceeding $44$ moves end in a draw has been implemented, since the original rules do not have explicit draw conditions.
Installation
Using pip (recommended)
python -m pip install fanorona-aec
Local
git clone https://github.com/AbhijeetKrishnan/fanorona-aec.git
cd fanorona-aec
python -m pip install .
Usage
Setting up a basic environment
In a Python shell, run the following:
from fanorona_aec import fanorona_v3
env = fanorona_v3.env()
See demo.py
for a script that implements a simple random policy to interact with the environment.
Testing
We use pytest for tests. You can run them via:
git clone https://github.com/AbhijeetKrishnan/fanorona-aec.git
cd fanorona-aec
python -m pip install .[dev]
pytest
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fanorona-aec-3.0.2.tar.gz
(19.6 kB
view hashes)
Built Distribution
Close
Hashes for fanorona_aec-3.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7671f4de2bd51bf12234c70db42c25929446dd65222b15d26d00e83737fbe2a4 |
|
MD5 | 64a741f10bb39288ed8f54242d19aff8 |
|
BLAKE2b-256 | 48c7513d5d697e3c7f363580ac23a51a72a9f7bce996a5d65add96be28ec743a |