diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2022-11-15 19:49:54 -0500 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2022-11-15 19:49:54 -0500 |
commit | b114fe7940e77090861ac9ba60f4d0b8caec8978 (patch) | |
tree | d5c7a1f2250a899719225642bf876a29316a30b0 /protocol/src/card.rs | |
parent | 87ede1e2b367a997440626ad9f583600d7cc42fc (diff) |
Add journaling GameState
Diffstat (limited to 'protocol/src/card.rs')
-rw-r--r-- | protocol/src/card.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/protocol/src/card.rs b/protocol/src/card.rs index 621bae1..e27f29a 100644 --- a/protocol/src/card.rs +++ b/protocol/src/card.rs @@ -1,3 +1,4 @@ +use serde::{Deserialize, Serialize}; use anyhow::anyhow; use rand::prelude::SliceRandom; use rand::Rng; @@ -7,7 +8,7 @@ use strum::IntoEnumIterator; use strum_macros::EnumCount; use strum_macros::EnumIter; -#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Copy, EnumIter, EnumCount)] +#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Copy, EnumIter, EnumCount, Serialize, Deserialize)] pub enum Suit { Club, Diamond, @@ -15,7 +16,7 @@ pub enum Suit { Spade, } -#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Copy, EnumIter)] +#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Copy, EnumIter, Serialize, Deserialize)] pub enum Rank { Two = 2, Three, @@ -119,7 +120,7 @@ impl std::str::FromStr for Rank { } } -#[derive(PartialEq, Eq, Clone, Copy)] +#[derive(PartialEq, Eq, Clone, Copy, Serialize, Deserialize)] pub struct Card(pub Suit, pub Rank); impl fmt::Display for Card { @@ -240,7 +241,7 @@ mod tests { } } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] pub struct Deal { pub north: Vec<Card>, pub west: Vec<Card>, |