Created
March 5, 2018 04:24
-
-
Save ddrscott/991a329b7f1c1f7682da5e4c24cdecc5 to your computer and use it in GitHub Desktop.
Rust Guessing Game
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| extern crate rand; | |
| use std::io; | |
| use rand::Rng; | |
| use std::cmp::Ordering; | |
| fn main() { | |
| println!("Guess the number!"); | |
| let secret_number = rand::thread_rng().gen_range(1, 101); | |
| // println!("The secret number is: {}", secret_number); | |
| loop { | |
| if get_and_check(&secret_number) { | |
| break; | |
| } | |
| } | |
| } | |
| fn get_and_check(secret: &u32) -> bool { | |
| let mut guess = String::new(); | |
| io::stdin() | |
| .read_line(&mut guess) | |
| .expect("Failed to read line"); | |
| let guess: u32 = match guess.trim().parse() { | |
| Ok(num) => num, | |
| Err(_) => { | |
| println!("{} is not a number. Try again: ", guess.trim()); | |
| return false; | |
| } | |
| }; | |
| println!("You guessed: {}", guess); | |
| match guess.cmp(secret) { | |
| Ordering::Less => println!("Too small"), | |
| Ordering::Greater => println!("Too big!"), | |
| Ordering::Equal => { | |
| println!("You win!"); | |
| return true; | |
| } | |
| } | |
| false | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment