arimaa_engine_step 1.0.1

A step based engine for the board game Arimaa.
Documentation
# Step based Arimaa Engine


[![docs.rs][docs-badge]][docs-url]
[![Crates.io][crates-badge]][crates-url]
[![MIT licensed][mit-badge]][mit-url]

[crates-badge]: https://img.shields.io/crates/v/arimaa-engine-step.svg
[crates-url]: https://crates.io/crates/arimaa-engine-step
[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
[mit-url]: https://github.com/JamesMHarmon/arimaa-engine-step/blob/master/LICENSE
[docs-badge]: https://docs.rs/arimaa_engine_step/badge.svg
[docs-url]: https://docs.rs/arimaa_engine_step/latest/arimaa_engine_step/

## Overview


A game engine for the board game [Arimaa](http://arimaa.com/arimaa/). This library
provides the functionalities:

* Generate a set of valid steps from any state.
* Generate a set of valid moves from any state.
* Supports Zobrist hashing for transpositions.
* Parsers for boards and actions.

## [Documentation][docs-url]


## Example


### Parse a game state and take an action and generate a set of valid actions from that state.


```rust
use arimaa_engine_step::{action, board};

let game_state = board!(
    "2g
     +-----------------+
    8| h c d m e d c h |
    7| r r r r r r r r |
    6|     x     x     |
    5|                 |
    4|                 |
    3|     x     x     |
    2| R R R R R R R R |
    1| H C D M E D C H |
     +-----------------+
       a b c d e f g h"
);

let action = action!(d2n);
let game_state = game_state.take_action(&action);

println!("{:?}", game_state.valid_actions());
```

### [Additional Examples][docs-url]


## License


This project is licensed under the [MIT license].

[MIT license]: https://github.com/tokio-rs/tokio/blob/master/LICENSE