返回

Rust猜数字游戏:从入门到跑路(1)

前端

Rust猜数字游戏简介

猜数字游戏是一个经典的纸笔游戏,现在让我们用Rust来实现它!游戏的目标是让玩家猜测一个由计算机随机生成的数字。玩家每次猜测后,计算机都会给出提示,如“大一点”或“小一点”。

入门

首先,让我们设置我们的Rust项目。创建一个新的Rust项目,并添加以下代码:

use rand::Rng;

fn main() {
    let secret_number = rand::thread_rng().gen_range(1..101);

    println!("猜一个1到100之间的数字:");
    let mut guess = String::new();

    loop {
        io::stdin().read_line(&mut guess).expect("无法读取行");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };

        if guess == secret_number {
            println!("你猜对了!");
            break;
        } else if guess > secret_number {
            println!("小一点");
        } else {
            println!("大一点");
        }
    }
}

代码解释:

  • 使用 rand crate 生成一个1到100之间的随机数作为秘密数字。
  • 提示用户猜测数字。
  • 使用循环不断读取用户的猜测,直到猜对。
  • 将用户的猜测解析为u32类型并与秘密数字比较。
  • 根据猜测与秘密数字的关系提供提示。

理解Rust代码

随机数生成

我们使用 rand::Rng trait 来生成随机数。thread_rng() 方法返回一个线程安全的随机数生成器。gen_range 方法生成一个指定范围内的随机数。

用户输入

我们使用 io::stdin() 读取用户的输入。read_line 方法将输入读入 guess 变量中。

解析输入

我们使用 parse 方法将用户输入的字符串解析为 u32 类型。如果解析失败,我们会忽略该猜测并继续循环。

循环

我们使用一个 loop 循环不断读取用户的猜测。当用户猜对时,循环会通过 break 语句终止。

总结

恭喜!你已经用Rust编写了一个简单的猜数字游戏。我们介绍了Rust的基本概念,包括循环、函数、输入和错误处理。随着本系列的继续,我们将深入探究Rust语言的更多高级特性,并开发更复杂的Rust游戏。