fn shuffle_deck(cards: vec<string>) -> vec<string> { let mut shuffled_deck = vec::new(); while cards.len() > 0 { shuffled_deck.push(cards.remove(rand::thread_rng().gen_range(0, cards.len()))); } shuffled_deck } fn play_magic(hidden_card: string, hand: vec<string>) -> string { let mut game_status = string::from("pre-committal phase initiated, ready to cast aside doubts"); for card in hand.iter() { if *card == hidden_card { game_status = string::from("hidden card found, reveal and resume from the start"); break; } else { continue; } } game_status }