From 00b04634653abadc05b27b5d719f199d44fac70b Mon Sep 17 00:00:00 2001 From: Kate Korsaro Date: Sun, 16 Nov 2025 08:11:43 +0100 Subject: [PATCH] feat: implement 'grab' for Handful --- 01.workspace/oxidice_lib/src/imp/handful_grab.rs | 8 ++++++-- 01.workspace/oxidice_lib/src/str/handful.rs | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/01.workspace/oxidice_lib/src/imp/handful_grab.rs b/01.workspace/oxidice_lib/src/imp/handful_grab.rs index 74f8161..4de2dbf 100644 --- a/01.workspace/oxidice_lib/src/imp/handful_grab.rs +++ b/01.workspace/oxidice_lib/src/imp/handful_grab.rs @@ -1,7 +1,11 @@ use crate::*; impl Handful { - pub fn grab(dice: u16, sides: u16) -> Self { - todo!() + pub fn grab(dice_num: u16, sides: u16) -> Self { + let mut dice = Vec::::new(); + for _ in 1..=dice_num { + dice.push(Die::new(sides)); + } + Self { dice } } } diff --git a/01.workspace/oxidice_lib/src/str/handful.rs b/01.workspace/oxidice_lib/src/str/handful.rs index 4f02689..ea890c7 100644 --- a/01.workspace/oxidice_lib/src/str/handful.rs +++ b/01.workspace/oxidice_lib/src/str/handful.rs @@ -1,7 +1,9 @@ use crate::*; #[derive(Debug, Default, PartialEq, Clone)] -pub struct O {} +pub struct O { + pub(crate) dice: Vec, +} // impl std::fmt::Display for O { // fn fmt(&self, _f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {