use rand::RngExt;
const ROW_LEN: usize = 7;
const ROW: [char; ROW_LEN] = ['🍒', '🍊', '🍓', '🍍', '🍇', '🍉', '⭐'];
#[repr(C)]
#[derive(
Clone, Copy, Debug, serde::Serialize, serde::Deserialize, Eq, PartialEq, Ord, PartialOrd, Hash,
)]
pub struct SlotMachine([char; 3]);
impl SlotMachine {
pub fn new() -> Self {
Self::default()
}
pub fn picks(self) -> [char; 3] {
self.0
}
}
impl Default for SlotMachine {
fn default() -> Self {
let mut rng = crate::get_rng();
let mut picks = ['\0', '\0', '\0'];
picks[0] = ROW[rng.random_range(0..ROW_LEN)];
picks[1] = ROW[rng.random_range(0..ROW_LEN)];
picks[2] = ROW[rng.random_range(0..ROW_LEN)];
SlotMachine(picks)
}
}