Skip to main content

Sokoban and variants game engine

Project description

sokoenginepy is game engine for Sokoban and variants written in Python and loaded with features:

  • implements game logic for Sokoban, Hexoban, Trioban and Octoban variants
    • supports Sokoban+ for all implemented variants

    • supports Multiban (muliple pushers on board) for all variants

  • two game engines implementations
    • fast and memory lightweight with single step undo/redo

    • somewhat slower and larger with unlimited movement undo/redo

  • reading and writing level collections
    • fully compatible with SokobanYASC .sok file format and variants (.xsb, .tsb, .hsb, .txt)

sokoenginepy was inspired by SokobanYASC, JSoko, MazezaM

Installing

Installing sokoenginepy should be as simple as

pip install sokoenginepy

Using

  • For quick glance of features and usage check the Tutorial.

  • For in-depth docs of whole package see API Reference.

Optional native extenstion

There is optional C++ native extension that is built automatically with pip install if all dependencies are met. It relies on Boost.Graph:

sudo apt install python3-dev libboost-graph-dev

Changelog

0.5.2 (2017-09-03)

  • Improved native extension build cofiguration process.

  • Upgraded to pybind11 v2.2.0

0.5.1 (2017-08-31)

  • Switched from Boost.Python to pybind11 in C++ extension

0.5.0 (2017-08-25)

  • added optional C++ native extension (Boost.Graph, Boost.Python)

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

sokoenginepy-0.5.2.tar.gz (1.6 MB view details)

Uploaded Source

File details

Details for the file sokoenginepy-0.5.2.tar.gz.

File metadata

  • Download URL: sokoenginepy-0.5.2.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sokoenginepy-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2136450fa42c273d22b6d1eed1557a0feb00c78ea4bbed1bac737e62cc79562b
MD5 ff8b78f35de6d18cd05de13d422063fe
BLAKE2b-256 b0c9c6c5a9e63f24b37b7a2256d95329eb674f4091d3fec08ba70a9636ee6828

See more details on using hashes here.

Supported by

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