From af2bc841119a6751c240dec95dd5511d4ee31d36 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Wed, 7 May 2025 23:08:15 -0700 Subject: init ; most of tic tac toe done --- guessing_game/src/main.rs | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 guessing_game/src/main.rs (limited to 'guessing_game/src') 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::() { + 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!") + } +} -- cgit v1.2.3-70-g09d2