readme
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
Card Game
|
||||||
|
=========
|
||||||
|
|
||||||
|
`card_game` is a library to implement card games. Mainly interesting for the `Game` trait and the `Session` type. Contains klondike as the reference implementation.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```rust
|
||||||
|
use card_game::card_game::{Session, Game};
|
||||||
|
use card_game::klondike::Klondike;
|
||||||
|
|
||||||
|
// create game session
|
||||||
|
let game = Klondike::new();
|
||||||
|
let mut session = Session::new(game);
|
||||||
|
|
||||||
|
// is winnable
|
||||||
|
let is_winnable = session.is_winnable();
|
||||||
|
|
||||||
|
// play game
|
||||||
|
while let Some(instruction) = session.enumerate_instructions() {
|
||||||
|
session.process_instruction(instruction);
|
||||||
|
}
|
||||||
|
|
||||||
|
// did win
|
||||||
|
let is_win = session.is_win();
|
||||||
|
|
||||||
|
// print session history
|
||||||
|
for (i, instruction) in session.history().iter().enumerate() {
|
||||||
|
println!("move {i} = {instruction:?}");
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("is_winnable = {is_winnable}");
|
||||||
|
println!("is_win = {is_win}");
|
||||||
|
```
|
||||||
|
|
||||||
|
#### License
|
||||||
|
|
||||||
|
<sup>
|
||||||
|
Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
|
||||||
|
2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
|
||||||
|
</sup>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<sub>
|
||||||
|
Unless you explicitly state otherwise, any contribution intentionally submitted
|
||||||
|
for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
|
||||||
|
be dual licensed as above, without any additional terms or conditions.
|
||||||
|
</sub>
|
||||||
Reference in New Issue
Block a user