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;