From 0eddb019dd3abe64c056d8ace0c98034f3079bf9 Mon Sep 17 00:00:00 2001 From: Kate Korsaro Date: Sun, 16 Nov 2025 08:31:33 +0100 Subject: [PATCH] feat: add method roll to Handful --- 01.workspace/oxidice_lib/src/imp/handful_roll.rs | 14 ++++++++++++++ 01.workspace/oxidice_lib/src/imp/mod.rs | 1 + 01.workspace/oxidice_lib/src/lib.rs | 1 + 3 files changed, 16 insertions(+) create mode 100644 01.workspace/oxidice_lib/src/imp/handful_roll.rs diff --git a/01.workspace/oxidice_lib/src/imp/handful_roll.rs b/01.workspace/oxidice_lib/src/imp/handful_roll.rs new file mode 100644 index 0000000..5360535 --- /dev/null +++ b/01.workspace/oxidice_lib/src/imp/handful_roll.rs @@ -0,0 +1,14 @@ +use crate::*; + +impl Handful { + pub fn roll(self) -> Outcome { + let mut die_rolls = Vec::::new(); + for die in self.dice { + die_rolls.push(die.roll()); + } + Outcome::List(die_rolls) + } +} + +// #[cfg(test)] +// mod unit_tests { use super::*; } diff --git a/01.workspace/oxidice_lib/src/imp/mod.rs b/01.workspace/oxidice_lib/src/imp/mod.rs index df83a59..9039b76 100644 --- a/01.workspace/oxidice_lib/src/imp/mod.rs +++ b/01.workspace/oxidice_lib/src/imp/mod.rs @@ -1,3 +1,4 @@ pub mod die_new; pub mod die_roll; pub mod handful_grab; +pub mod handful_roll; diff --git a/01.workspace/oxidice_lib/src/lib.rs b/01.workspace/oxidice_lib/src/lib.rs index fb37ab5..1752197 100644 --- a/01.workspace/oxidice_lib/src/lib.rs +++ b/01.workspace/oxidice_lib/src/lib.rs @@ -11,3 +11,4 @@ mod tst; pub(crate) use crate::str::die::O as Die; pub(crate) use crate::str::failed_to::E as FailedTo; pub(crate) use crate::str::handful::O as Handful; +pub(crate) use crate::str::outcome::E as Outcome;