探索 Rust 编程世界,亲手打造猜数字游戏之旅

5个月前软件教程17

在编程的广袤天地中,Rust 以其出色的性能和安全性脱颖而出,就让我们一起深入 Rust 的世界,学习如何用它来编写一个充满趣味的猜数字游戏。

想象一下,你打开电脑,启动你熟悉的编程环境,准备用 Rust 来实现一个能让你和朋友乐在其中的猜数字游戏,这个游戏的规则非常简单:系统会在一个特定的范围内随机生成一个数字,而你的任务就是通过不断猜测来找出这个数字,每一次猜测后,系统都会告诉你是猜大了还是猜小了,直到你准确猜出为止。

探索 Rust 编程世界,亲手打造猜数字游戏之旅

我们来创建一个新的 Rust 项目,打开你的终端或者命令提示符,输入相应的命令来初始化项目,让我们开始编写代码。

use rand::Rng;
fn main() {
    let mut rng = rand::thread_rng();
    let secret_number = rng.gen_range(1..=100);
    println!("欢迎来到猜数字游戏!");
    println!("我已经想好了一个 1 到 100 之间的数字,请开始猜吧!");
    loop {
        let mut guess = String::new();
        std::io::stdin().read_line(&mut guess).expect("读取输入失败");
        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => {
                println!("输入无效,请输入一个数字!");
                continue;
            }
        };
        if guess == secret_number {
            println!("恭喜你,猜对了!");
            break;
        } else if guess > secret_number {
            println!("你猜大了,再试试!");
        } else {
            println!("你猜小了,再试试!");
        }
    }
}

在上述代码中,我们首先引入了rand 库来生成随机数,然后在main 函数中,通过rand::thread_rng().gen_range(1..=100) 生成了一个 1 到 100 之间的随机数字作为要猜测的目标。

我们进入一个无限循环,不断读取用户的输入,用户输入的内容会被尝试转换为u32 类型的数字,如果转换成功并且猜对了,就输出恭喜信息并结束循环;如果猜大了或者猜小了,就给出相应的提示,让用户继续猜测。

当你运行这段代码,就可以开始愉快地猜数字啦!

问答环节:

1、如何修改游戏的数字范围?

答:在生成随机数的那一行代码中,修改gen_range 的参数即可,比如要改为 1 到 50,就写成rng.gen_range(1..=50)

2、怎样让游戏在一定次数内结束?

答:可以添加一个计数器变量,每次猜测后增加计数,当计数达到设定的次数时结束游戏。

3、能增加提示信息的丰富度吗?

答:当然可以,比如根据猜测的偏差大小给出不同的提示,你猜得太大了,差距还很大”或者“你已经很接近了,再稍微调整一下”。