|
@@ -12,21 +12,29 @@ fn main() {
|
|
|
|
|
|
let secret_number = rand::thread_rng().gen_range(1,101);
|
|
|
|
|
|
- println!("The secret number is: {}", secret_number);
|
|
|
+ loop {
|
|
|
+ println!("Please input your guess.");
|
|
|
|
|
|
- println!("Please input your guess.");
|
|
|
+ let mut guess = String::new();
|
|
|
|
|
|
- let mut guess = String::new();
|
|
|
+ io::stdin().read_line(&mut guess)
|
|
|
+ .expect("Failed to read line");
|
|
|
|
|
|
- io::stdin().read_line(&mut guess)
|
|
|
- .expect("Failed to read line");
|
|
|
+ let guess:u32 = match guess.trim().parse() {
|
|
|
+ Ok(num) => num,
|
|
|
+ Err(_) => continue
|
|
|
+ };
|
|
|
|
|
|
- println!("You guessed: {}", guess);
|
|
|
+ println!("You guessed: {}", guess);
|
|
|
|
|
|
|
|
|
- match guess.cmp(&secret_number) {
|
|
|
- Ordering::Less => println!("Too small!"),
|
|
|
- Ordering::Greater => println!("Too big!"),
|
|
|
- Ordering::Equal => println!("You got it! You win!")
|
|
|
+ match guess.cmp(&secret_number) {
|
|
|
+ Ordering::Less => println!("Too small!"),
|
|
|
+ Ordering::Greater => println!("Too big!"),
|
|
|
+ Ordering::Equal => {
|
|
|
+ println!("You got it! You win!");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|