返回
菜鸡前端的 Rust 学习笔记(二):一场刺激的猜数字游戏
前端
2023-11-05 06:14:10
**菜鸡前端的 Rust 学习笔记(二):一场刺激的猜数字游戏**
**引言**
新手 Rustacean 们,准备好迎接一场激动人心的编码冒险了吗?在这场 Rust 猜数字游戏中,我们将踏上探索 Rust 基本原理的征程,让初学者也能领略这门备受推崇的编程语言的魅力。
**认识我们的武器库**
* **let:** Rust 的赋值超级英雄,用于将变量与数据值联系起来。
* **match:** Rust 的多面手,用于将数据与各种可能性进行匹配。
* **方法:** Rust 的超级力量,用于为我们的数据结构和 ২ types 赋予行为。
* **板条箱:** Rust 的模块化工具箱,用于组织和打包我们的 Rust 代码。
* **闭包:** Rust 的秘密武器,用于将一段可调用的的稍作包装,以便在需要时重新使用。
**游戏规则:**
1. 我们的 Rust 程序将生成一个从 1 到 100 的秘密数字。
2. 玩家将不断猜测这个数字,而 Rust 盟友将提供反馈。
3. 玩家的任务是尽快找出这个秘密数字,并使用最少的猜测。
**编码之旅:**
1. **初始化游戏舞台:**
```rust
use std::io;
fn main() {
println!("欢迎来到 Rust 猜数字游戏!\n\n");
// 生成秘密数字
let secret_number = (1..=100).random();
}
- 玩家出招:
// 循环直到玩家猜中数字
loop {
println!("请输入一个数字介于 1 到 100:");
// 玩家猜测
let mut guess = String::new();
// 读取玩家猜测
io::stdin.read_line(&mut guess)
.expect("error: failed to read input");
// 将猜测转换为数字
let guess_number: u8 = guess.trim().parse()
.expect("error: failed to parse input");
}
- 评估猜测:
使用 match ,我们可以将玩家的猜测与可能的选项进行匹配:
match guess_number {
// 玩家猜中了!
x if x == secret_number => {
println!("恭喜!你猜中了秘密数字。");
break;
},
// 玩家猜得太小了
x if x < secret_number => {
println!("太小了!再试一试。");
},
// 玩家猜得太大了
x if x > secret_number => {
println!("太大了!再试一试。");
},
// 其他无效的猜测
_ => {
println!("无效猜测。请重新开始。");
},
}
- 胜利的喜悦:
如果玩家猜中了秘密数字,我们便以胜利的音符结束游戏:
println!("\n游戏结束!谢谢玩 Rust 猜数字游戏。");
}
感悟与总结
- 通过一场有趣的游戏,我们潜入 Rust 的世界,窥探了 let、match、方法、板条箱和闭包的奥秘。
- 掌握这些概念将为我们今后的 Rust 编程之旅奠定坚实的基础。
- 记住,编码是探索、创造和不断完善的过程。