kingslayer 0.5.1

A text adventure dungeon crawler game written in Rust
Documentation
# 👑 Kingslayer ⚔️

![Rust](https://github.com/Maxgy/kingslayer/workflows/Rust/badge.svg)
[![Current Crates.io Version](https://img.shields.io/crates/v/kingslayer)](https://crates.io/crates/kingslayer)
[![Kingslayer documentation](https://docs.rs/kingslayer/badge.svg)](https://docs.rs/kingslayer)
![license/MIT](https://img.shields.io/github/license/Maxgy/kingslayer)

Kingslayer is a text-based dungeon crawler written in Rust. It is a continuation of [thekinggame](https://github.com/Maxgy/thekinggame).

You can find the WASM package at [github.com/Maxgy/kingslayer-wasm](https://github.com/Maxgy/kingslayer-wasm)

### Running the game

You can play the online WASM version here: [maxgy.github.io/kingslayer-wasm](https://maxgy.github.io/kingslayer-wasm/)

or clone the project and run:
```
cargo run --release
```

### Creating and Running your own World

Worlds can be created with RON and Rust helper functions. Running the world on the command line looks like this:
```rust
use kingslayer::Cli;

fn main() {
    let cli = Cli::from_file("worlds/world.ron");

    cli.start();
}
```
or the loop can be managed manually like this:
```rust
use kingslayer::Cli;

fn main() {
    let cli = Cli::from_file("worlds/world.ron");

    println!("{}", cli.ask("l"));
    loop {
        let s = cli.ask(&Cli::prompt());
        println!("{}", s);
        if s.contains("You died.") {
            break;
        }
    }
}
```
This method allows you to manage other forms of input and output such as within a website. The content for the world can also be passed as a raw string with `Cli::from_ron_str`.

### Dependencies
* Rust ^1.40.0

### Crates
* rand = "0.7"
* rayon = "1.0"
* serde = "1.0"
* ron = "0.5"