RUST编程:猜数字游戏
专栏:ExASIC Nov. 10, 2024, 2:24 p.m. 167 阅读
RUST编程:猜数字游戏

游戏规则

用RUST制作一个猜数字的小游戏。先随机一个1~100之间的数字,让玩者猜,每次猜后告诉是猜对了、大小、或者小了。玩者可以一直猜,直到猜正确。

新建项目

先用cargo新建项目,再编辑src目录下的main.rs文件。

cargo new game
cd game
emacs src/main.rs

代码

注释在代码里。

use std::io; //导入io库,接收输入文字
use std::cmp::Ordering; //导入Ordering,进行比较
use rand::Rng; //导入第三方库,产生随机数

fn main(){
    println!("猜数字!");

    //产生一个1~100之间的随机数,保存在secret number里
    let secret_number = rand::thread_rng().gen_range(1..101);

    //提示玩者输入一个数字,并记录猜的次数
    println!("输入1~100的数字");
    let mut counter = 0;
    
    //一次猜,直到测对
    loop {
        //新建一个字符串,用来存储玩者输入的数字
    let mut guess = String::new();

        //读入玩者输入的一行字符串
    io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

        //把玩者输入的字符串转成数字
    let guess: u32 = match guess.trim().parse(){
        Ok(num) => num,
        Err(_) => continue,
    };

        //猜测次数加1
    counter+=1;
    
        //比较玩者输入的数字与预设值是否相等,并提示下一步操作
    match guess.cmp(&secret_number){
        Ordering::Less => println!("[{}]太小了! 请重新输入", counter),
        Ordering::Greater => println!("[{}]太大了! 请重新输入", counter),
        Ordering::Equal => {
        println!("[{}]恭喜你,猜对了!", counter);
        break;
        }
    }
    }
    
}

编译和运行

编译

cargo build

运行

cargo run
感谢阅读,更多文章点击这里:【专栏:ExASIC】
最新20篇 开设专栏