探索 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、能增加提示信息的丰富度吗?
答:当然可以,比如根据猜测的偏差大小给出不同的提示,你猜得太大了,差距还很大”或者“你已经很接近了,再稍微调整一下”。