Commit daee25d

mo khan <mo@mokhan.ca>
2025-05-30 18:07:15
feat: allow infinite guesses
1 parent f7b9e8f
Changed files (1)
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;
+            }
+        }
     }
 }