sweeper

Crates.iosweeper
lib.rssweeper
version1.0.0-rc3
sourcesrc
created_at2020-04-25 21:00:27.116115
updated_at2020-05-04 09:38:30.500543
descriptionA foundation for Minesweeper implementations in Rust
homepage
repositoryhttps://github.com/kotauskas/sweeper
max_upload_size
id234091
size87,179
(kotauskas)

documentation

https://docs.rs/sweeper

README

Sweeper

Crates.io Docs.rs

A foundation for Minesweeper implementations in Rust.

The purpose of such a crate is to have Minesweeper implementations depend on a common crate, i.e. for them to share the basic code related to managing a Minesweeper session and only bother writing the code for the UI, sound effects, input and such. Such implementations can be seen as frontends to this library.

Feature gates

  • std — enable a dependency on the hosted standard library (enabled by default)

    Without this feature, the crate only depends on core and alloc (meaning that usage in an environment without even a memory allocator is impossible), allowing it to run in a freestanding environment, allowing one to implement Minesweeper on a microcontroller, meaning Arduino Minesweeper, ESP32 Minesweeper, OSDev Minesweeper... you name it.

  • generation — enable random generation (enabled by default)

    Enables the dependency on rand, used for generating random fields. Disable to remove said dependency if you'd like to use your own random field generator.

  • serialization — enable support for field serialization (enabled by default, disable to speed up compilation)

    Enables the dependency on serde and its derive macros, which allows one to serialize and deserialize a field to store it on the hard drive, send it over the network or otherwise perform a certain operation which requires having the field in a consistent (platform-independent) format. See the serde crate for more.

  • track_caller — use track_caller attributes

    Places the track_caller attribute on indexing operators and other panicking methods, improving panic messages. Requires a nightly compiler as of Rust 1.43.0.

Commit count: 26

cargo fmt