diff --git a/src/modes/mod.rs b/src/modes/mod.rs new file mode 100644 index 0000000..2fdacdc --- /dev/null +++ b/src/modes/mod.rs @@ -0,0 +1 @@ +mod single; diff --git a/src/modes/single.rs b/src/modes/single.rs new file mode 100644 index 0000000..4448106 --- /dev/null +++ b/src/modes/single.rs @@ -0,0 +1,17 @@ +use crate::card::Card; + +#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Copy, Clone)] +pub struct Single(Card); + +impl Single { + fn new(c: Card) -> Option { + (!c.is_joker()).then_some(Single(c)) + } +} + +use std::fmt::{Display, Formatter, Result}; +impl Display for Single { + fn fmt(&self, f: &mut Formatter<'_>) -> Result { + write!(f, "Single({})", self.0) + } +}