Adjusted game-over condition to be handled better, which was required after adjusting the inital guess counter to start at 1 instead of 0

master
Aaron Johnon 5 months ago
parent 4a6d166a5a
commit 9ba047c808

@ -25,7 +25,7 @@ fn main() {
println!("\n{BLD}Guess the number!{RST}\n"); println!("\n{BLD}Guess the number!{RST}\n");
// Guess counter // Guess counter
let mut gcount: u8 = 0; let mut gcount: u8 = 1;
let secret_number: u8 = rand::thread_rng().gen_range(MIN..=MAX); let secret_number: u8 = rand::thread_rng().gen_range(MIN..=MAX);
println!("Please type in your guess ({}-{}):", MIN, MAX); println!("Please type in your guess ({}-{}):", MIN, MAX);
@ -52,22 +52,13 @@ fn main() {
} }
let guess: u8 = match guess.trim().parse() { let guess: u8 = match guess.trim().parse() {
Ok(num) if num >= MIN && num <= MAX => { Ok(num) if num >= MIN && num <= MAX => num,
if gcount < 255 {
gcount += 1;
} else {
println!("{BLD}GAME OVER!\n{RED}You've run out of guesses!{RST}");
std::process::exit(13);
}
num
},
_ => { _ => {
println!("Invalid input! Guess a number between {BLD}{}{RST} and {BLD}{}{RST}.", MIN, MAX); println!("Invalid input! Guess a number between {BLD}{}{RST} and {BLD}{}{RST}.", MIN, MAX);
continue; continue;
}, },
}; };
//println!("You guessed: {}", guess);
if guess == 69 { if guess == 69 {
println!("{BLD}Nice!{RST}"); println!("{BLD}Nice!{RST}");
} }
@ -76,9 +67,18 @@ fn main() {
Ordering::Less => println!("Too {YLW}small{RST}!"), Ordering::Less => println!("Too {YLW}small{RST}!"),
Ordering::Greater => println!("Too {RED}big{RST}!"), Ordering::Greater => println!("Too {RED}big{RST}!"),
Ordering::Equal => { Ordering::Equal => {
println!("{GRN}You've won!{RST}\nYou used {BLD}{}{RST} guesses!", gcount); let mut plural: &str = "";
if gcount > 1 {
plural = "es";
}
println!("{GRN}You've won!{RST}\nYou needed {BLD}{}{RST} guess{} to win!", gcount, plural);
break; break;
} }
} }
if gcount == u8::MAX {
println!("{BLD}GAME OVER!\n{RED}You've run out of guesses!{RST}");
std::process::exit(13);
}
gcount += 1;
} }
} }

Loading…
Cancel
Save