Skip to content

A library provides the implementation of algorithms and data structures related to Sokoban.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ShenMian/soukoban

Repository files navigation

soukoban

docs.rs Test status Code coverage

A library provides the implementation of algorithms and data structures related to Sokoban.

Features

  • Level
    • Zero-allocation lazy parsing: Parses levels lazily from an in-memory string without memory allocations except for level creation.
    • Lazy stream parsing: Parses levels lazily from a stream.
    • Map reconstruction: Reconstructs the map from the solution.
    • Normalization: Removes elements from the map that are not relevant to the solution.
    • RLE support: Enables loading of levels encoded in Run-Length Encoding (RLE) format.
  • Solution
    • Reversal move handling: Automatically interprets reversal moves as undo actions.
    • Metrics calculation: Computes metrics such as box_lines, box_changes, pushing_sessions, and player_lines.
  • Pathfinding: Finds the optimal player path to push a box to a position.
  • Deadlock detection: Detects static deadlocks and freeze deadlocks.

License

Licensed under either of

at your option.

The level files in the assets directory are licensed solely under their respective licenses, available in the LICENSE file in the directory.

About

A library provides the implementation of algorithms and data structures related to Sokoban.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Languages