diff --git a/src/card_game.rs b/src/card_game.rs index 6b7c227..89e3e90 100644 --- a/src/card_game.rs +++ b/src/card_game.rs @@ -6,6 +6,11 @@ pub trait Game { fn process_instruction(&mut self, instruction: Self::Instruction); } +/// An identifier which specifies the deck id, suit, and card value. +/// 2 bits for deck ID +/// 2 bits for suit ID +/// 4 bits for card Value +/// TODO: better encoding for slightly more decks pub struct Card(u8); pub struct CardValue(deranged::RangedU8<1, 13>); pub enum Suit { diff --git a/src/klondike.rs b/src/klondike.rs index 5ac8d4f..5a695e0 100644 --- a/src/klondike.rs +++ b/src/klondike.rs @@ -28,7 +28,7 @@ struct KlondikeMove { src: KlondikePileId, dst: KlondikePileId, } -pub struct KlondikeGame { +pub struct Klondike { config: KlondikeConfig, state: KlondikeState, } diff --git a/src/lib.rs b/src/lib.rs index 4a623ec..99e67e1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,7 @@ -mod card_game; -mod klondike; +pub mod card_game; +pub mod klondike; + +// test readme +#[doc = include_str!("../README.md")] +#[cfg(doctest)] +struct ReadmeDoctests;