Sokoban and variants game utilities
Project description
sokoenginepy - Sokoban and variants
This project implements various utilities for Sokoban:
- board representation for Sokoban, Hexoban, Trioban and Octoban variants with support for Sokoban+ and Multiban for all four variants
- movement implementation
- reading and writing of level collections in
.sok
,.xsb
,.tsb
,.hsb
and.txt
file formats
It provides two almost identical implementations:
sokoneginepy
- Python implementation and packagelibsokoengine
- C++ library with API that is 99.99% identical to Python
On Linux, Python package can also be optionally built with native extensions so that it
utilizes libsokoengine
for raw speed.
libsokoengine
can be built completely independently, and consumed by native C++
clients.
Why?
- experimenting with Boost.Graph in C++ and NetworkX in Python
- experimenting with pybind11
- playing with Sokoban file formats; conversion and validation, especially for Hexoban variant
- ...
Install
sokoenginepy
package from [PyPi]:
pip install sokoenginepy
libsokoengine
can be built from source code, details are inREADME.libsokoengine.md
sokoenginepy
can be optionally built with native C++ extensions, details are inINSTALL.md
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sokoenginepy-0.5.4.tar.gz
(1.5 MB
view hashes)
Built Distribution
Close
Hashes for sokoenginepy-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3238d2c95547f35b1794aea14198e41e1a8ebcf09a9f4438bfb083fd59b6661 |
|
MD5 | fc4db0d8ce96b5363a376e67f2971474 |
|
BLAKE2b-256 | 679fb333ab1a14859d529e4a76d152e6f5dd63a22d18865ed1908f85f907ba2f |