Skip to main content

A PettingZoo AECEnv implementation of the Fanorona board game.

Project description

Fanorona AEC Environment

PyPI v3.0.2 License: MIT Code style: black pre-commit

  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)

Uploaded Source

Built Distribution

fanorona_aec-3.0.2-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

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

Hashes for fanorona-aec-3.0.2.tar.gz
Algorithm Hash digest
SHA256 5ac851d673dd9d7271da18945c4fac5091c68ece16f590f05d18a3dbcf8e399a
MD5 ae9be94c6d32cebf6b9ea416ca7ada67
BLAKE2b-256 aa4380303d8956370d9d0534b6ba76a7cf77233b0093d67dbfb327729c244296

See more details on using hashes here.

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

Hashes for fanorona_aec-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7671f4de2bd51bf12234c70db42c25929446dd65222b15d26d00e83737fbe2a4
MD5 64a741f10bb39288ed8f54242d19aff8
BLAKE2b-256 48c7513d5d697e3c7f363580ac23a51a72a9f7bce996a5d65add96be28ec743a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page