diff options
| author | Carlos Maiolino <[email protected]> | 2025-09-06 09:30:39 +0200 |
|---|---|---|
| committer | Carlos Maiolino <[email protected]> | 2025-09-06 09:35:00 +0200 |
| commit | ee8a08bfa24d9a3d09273fdebe8d73ac38c545f9 (patch) | |
| tree | 856c1a6347bea7f29bf2048c8f2028e5a3e656ef /rust/guessing_game/src | |
| parent | 93b1c04a218858ecc59b6b8929103695b7b8c2a0 (diff) | |
Update guessing game
Signed-off-by: Carlos Maiolino <[email protected]>
Diffstat (limited to 'rust/guessing_game/src')
| -rw-r--r-- | rust/guessing_game/src/main.rs | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/rust/guessing_game/src/main.rs b/rust/guessing_game/src/main.rs index 7c6fea3..8e038a8 100644 --- a/rust/guessing_game/src/main.rs +++ b/rust/guessing_game/src/main.rs @@ -1,25 +1,33 @@ -use rand::Rng; use std::cmp::Ordering; use std::io; +use rand::Rng; + fn main() { - println!("Guess the number!"); + println!("Guess the number"); let secret_number = rand::thread_rng().gen_range(1..=100); + let mut tries = 10; loop { - println!("Please input your guess."); - let mut guess = String::new(); + 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) // Returns a 'Result' type + .read_line(&mut guess) .expect("Failed to read line"); - // /- Returns a Result type let guess: u32 = match guess.trim().parse() { - Ok(num) => num, - Err(_) => continue, + Ok(n) => n, + Err(_) => { + println!("Invalid guess... Please type a number..."); + continue; + }, }; println!("You guessed: {guess}"); @@ -30,7 +38,11 @@ fn main() { Ordering::Equal => { println!("You win!"); break; - } // Code block executed if match hits ::Equal - }; + }, + } + + tries -= 1; + println!("Attempts left: {tries}"); } + return; } |
