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 details)
Built Distribution
File details
Details for the file fanorona-aec-3.0.2.tar.gz
.
File metadata
- Download URL: fanorona-aec-3.0.2.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ac851d673dd9d7271da18945c4fac5091c68ece16f590f05d18a3dbcf8e399a |
|
MD5 | ae9be94c6d32cebf6b9ea416ca7ada67 |
|
BLAKE2b-256 | aa4380303d8956370d9d0534b6ba76a7cf77233b0093d67dbfb327729c244296 |
File details
Details for the file fanorona_aec-3.0.2-py3-none-any.whl
.
File metadata
- Download URL: fanorona_aec-3.0.2-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7671f4de2bd51bf12234c70db42c25929446dd65222b15d26d00e83737fbe2a4 |
|
MD5 | 64a741f10bb39288ed8f54242d19aff8 |
|
BLAKE2b-256 | 48c7513d5d697e3c7f363580ac23a51a72a9f7bce996a5d65add96be28ec743a |