1use std::cmp::Ordering;
2use std::io;
3use rand::Rng;
4
5pub fn start() {
6 println!("欢迎来到猜数字小游戏!\n");
7 println!("请输入一个整数数字 1-100:输入q退出");
8 let secret_number = rand::thread_rng().gen_range(1..101);
9 guess_num(secret_number);
10 println!("按任意键退出");
11 let mut tmp = String::new();
12 let _ = io::stdin().read_line(&mut tmp);
13}
14pub fn guess_num(secret_number: i32) {
15 let mut guess = String::new();
16 io::stdin()
17 .read_line(&mut guess)
18 .expect("Failed to read line");
19 if guess.trim() == "q" {
20 return;
21 }
22
23 let back_int = guess.trim().parse::<i32>().expect("非法输入,请输入一个整数!");
24
25 match back_int.cmp(&secret_number) {
26 Ordering::Less => {
27 println!("猜小了!,再试一次吧!");
28 return guess_num(secret_number);
29 }
30 Ordering::Greater => {
31 println!("猜大了,再试一次吧!");
32 return guess_num(secret_number);
33 }
34 Ordering::Equal => {
35 println!("你赢了!");
36 }
37 }
38}