guessnumgame/
lib.rs

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}