hello,
last time I made a fibonacci series generator in Rust and now I have made something different :)
use std::io;
fn main() {
let mut input: String = String::new();
let stdin = io::stdin();
let x = rand::random::<u32>() % 101;
let mut attempts = 0;
loop {
println!("Guess a number from 0 to 100:");
stdin.read_line(&mut input);
input = input.to_string().replace("\n", ""); // removing the \n
let user_input: u32 = input.parse::<u32>().unwrap();
if x == user_input {
println!("You won! attempts: {attempts}");
break;
}
else if x < user_input {
println!("too big");
attempts += 1;
}
else {
println!("too small");
attempts += 1;
}
input.clear()
}
}
feel free to give me suggestion :)
Coloured text does not require a dep. It is just about printing the right colour codes like:
const BLACK: &'static str = "\u{001b}[30m"; const RED: &'static str = "\u{001b}[31m"; const GREEN: &'static str = "\u{001b}[32m"; const YELLOW: &'static str = "\u{001b}[33m"; const BLUE: &'static str = "\u{001b}[34m"; const MAGENTA: &'static str = "\u{001b}[35m"; const CYAN: &'static str = "\u{001b}[36m"; const WHITE: &'static str = "\u{001b}[37m"; const CLEAR: &'static str = "\u{001b}[0m"; fn main() { println!("{RED}red! {BLUE}blue!{CLEAR}"); }
The libraries just make it easier so you don’t need to remember or know what those codes mean.
I thought, colour codes are platform dependent, will it work on windows
I usually run things on Linux or macOS, but using a library (crate) may add portability, imo
🤔 I think the vt100 protocols (where the escape code come from) predate windows and I think all modern terminals still use those as the base. So I think they are cross platform. From a quick search it looks like they are the same codes on windows. So I dont think the libraries are doing anything special for cross platform support.
I see, so I was wrong then
Maybe I should try colour codes on windows when I get to it 😅 thanks for the info