use std::cmp::Ordering; use std::io; use rand::Rng; fn main() { println!("Guess the number"); let secret_number = rand::thread_rng().gen_range(1..=100); let mut tries = 10; loop { if tries == 0 { println!("You guessed wrong for the last time... You LOSE!"); break; } println!("Please input your guess: "); let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("Failed to read line"); let guess: u32 = match guess.trim().parse() { Ok(n) => n, Err(_) => { println!("Invalid guess... Please type a number..."); continue; }, }; println!("You guessed: {guess}"); match guess.cmp(&secret_number) { Ordering::Less => println!("Too small!"), Ordering::Greater => println!("Too big!"), Ordering::Equal => { println!("You win!"); break; }, } tries -= 1; println!("Attempts left: {tries}"); } return; }