summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-30 12:07:15 -0600
committermo khan <mo@mokhan.ca>2025-05-30 12:07:15 -0600
commitdaee25d5946dfff688e5f61618cbd7323a3488ce (patch)
treed53a4915e263b09447dfeae7b58e7f5fffa3f711 /src
parentf7b9e8ffd8164474b08e0c6ee20edf2fb1b2d279 (diff)
feat: allow infinite guesses
Diffstat (limited to 'src')
-rw-r--r--src/main.rs28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/main.rs b/src/main.rs
index bcff184..2246f72 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,20 +7,26 @@ fn main() {
let secret_number = rand::rng().random_range(1..=100);
println!("The secret number is: {secret_number}");
- println!("Please input your guess");
- let mut guess = String::new();
- io::stdin()
- .read_line(&mut guess)
- .expect("failed to read line");
+ loop {
+ println!("Please input your guess");
- let guess: u32 = guess.trim().parse().expect("Please type a number!");
+ let mut guess = String::new();
+ io::stdin()
+ .read_line(&mut guess)
+ .expect("failed to read line");
- println!("You guessed: {guess}");
+ let guess: u32 = guess.trim().parse().expect("Please type a number!");
- match guess.cmp(&secret_number) {
- Ordering::Less => println!("Too small!"),
- Ordering::Greater => println!("Too big!"),
- Ordering::Equal => println!("You win!"),
+ println!("You guessed: {guess}");
+
+ match guess.cmp(&secret_number) {
+ Ordering::Less => println!("Too small!"),
+ Ordering::Greater => println!("Too big!"),
+ Ordering::Equal => {
+ println!("You win!");
+ break;
+ }
+ }
}
}