반응형
rust를 배우고자 처음 작성해본 코드
생각보다 어렵지만 생각보다 쉬움?
code block에 rust가 없네 ㅠㅠㅠㅠㅠㅠㅠ
use std::io::{self, Write, BufRead};
use rand::Rng;
fn selected_number() -> u32 {
let mut num_string = String::new();
std::io::stdin()
.lock()
.read_line(&mut num_string)
.expect("error");
let num: u32 = num_string.trim().parse().unwrap();
num
}
fn main() {
let max_try_count: u32 = 10;
println!("Up & down: up to 2 digits");
println!("You can try {} times to guess the number", max_try_count);
let picked_number: u32 = rand::thread_rng().gen_range(1, 99);
println!("I picked a number.\n");
for count in 1..max_try_count {
print!("{:2}: Input your number: ", count);
let _ = io::stdout().flush();
let selected_number: u32 = selected_number();
if selected_number == picked_number {
println!("=> Right!");
break;
}
else if selected_number > picked_number {
println!("=> Down!");
}
else {
println!("=> Up!");
}
if count == max_try_count {
println!("=> You've tried {} times. The number I picked is {}", max_try_count, selected_number);
break;
}
}
}
반응형
댓글