diff options
author | Kai Stevenson <kai@kaistevenson.com> | 2025-05-07 23:08:15 -0700 |
---|---|---|
committer | Kai Stevenson <kai@kaistevenson.com> | 2025-05-07 23:08:15 -0700 |
commit | af2bc841119a6751c240dec95dd5511d4ee31d36 (patch) | |
tree | 693cb7d3d6d06bb667a89b1d4d8d2bdaee8ab983 /guessing_game/src |
init ; most of tic tac toe done
Diffstat (limited to 'guessing_game/src')
-rw-r--r-- | guessing_game/src/main.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/guessing_game/src/main.rs b/guessing_game/src/main.rs new file mode 100644 index 0000000..561843d --- /dev/null +++ b/guessing_game/src/main.rs @@ -0,0 +1,42 @@ +use rand::{self, Rng}; +use std::{cmp::Ordering, io}; + +fn main() { + println!("Guessing game!"); + + let secret_number = rand::thread_rng().gen_range(1..=10); + println!("The secret number is {}", secret_number); + + loop { + println!("Please enter a guess!"); + let mut guess = String::new(); + + io::stdin() + .read_line(&mut guess) + .expect("A guess should be entered"); + + println!("You guessed: {}", guess); + + let guess: u32 = match guess.trim().parse::<u32>() { + Ok(num) => num, + Err(err) => { + println!("Couldn't parse '{}' ({})", guess.trim(), err); + continue; + } + }; + + match secret_number.cmp(&guess) { + Ordering::Less => { + println!("You guessed wrong! ({} < {})", secret_number, guess); + } + Ordering::Equal => { + println!("You guessed right! ({} = {})", secret_number, guess); + break; + } + Ordering::Greater => { + println!("You guessed wrong! ({} > {})", secret_number, guess); + } + } + println!("Try again!") + } +} |