mod card; mod grid; use crate::card::*; use crate::card::card::Card; use crate::grid::*; use rand::Rng; fn rand_u8() -> u8 { let mut rng = rand::thread_rng(); rng.gen() } fn special_000() { println!("Hello, world!"); } #[allow(unused_variables)] fn main() { let mut card = Card::new(player::PlayerId::PLAYER_1); println!("{:?}", card); card.n ^= 5; println!("{:?}", card); card.n ^= 3; println!("{:?}", card); card.n = 254; card.effect = Some(effect::CardEffect { name: "Say Hello", when: 0, fun: &special_000, }); println!("{:?}", card); card.randomize(); println!("{:?}", card); if let Some(effect) = card.effect { (effect.fun)(); } let mut grid = Grid::<3>::default(); println!("{:?}", grid); grid.field[0][1] = Some(card); println!("{:?}", grid); grid.randomize(); println!("{:?}", grid); }