|
|
@ -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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|