Commit bc6c412d authored by Chris's avatar Chris
Browse files

[guessing-game] loop for guesses

parent e788822f
Loading
Loading
Loading
Loading
+21 −13
Original line number Diff line number Diff line
@@ -4,24 +4,32 @@ use std::cmp::Ordering;
fn main() {
    println!("Guess the number!");

    let secret_number = rand::random_range(1..=100);
    let secret_number: u8 = rand::random_range(1..=100);

    println!("The secret number is {secret_number}"); // debug purposes

    println!("Please input your guess. (Hint: the number will be between 1 and 100.)");

    // let difference = (guess).abs_diff(secret_number);

    // println!("You guessed {}", guess);

    loop {
        let mut guess = String::new();
        io::stdin()
            .read_line(&mut guess)
            .expect("Failed to read line");

    let guess: u32 = guess.trim().parse().expect("Please type a number");

    let difference = (guess).abs_diff(secret_number);

    // println!("You guessed {}", guess);
    println!("The secret number is {secret_number}");
        let guess: u8 = guess.trim().parse().expect("Please type a number");

        match guess.cmp(&secret_number) {
        Ordering::Less => println!("Your guess was too low: off by {difference}"),
        Ordering::Greater => println!("Your guess was too high: off by {difference}"),
        Ordering::Equal => println!("Your guess was exact. You win!")
            Ordering::Less => println!("Too small!"),
            Ordering::Greater => println!("Too big!"),
            Ordering::Equal => {
                println!("You win!");
                break;
            },
        }
    }

}