0


Rust实战 | 用 RustRover 开发猜数字游戏

#1、概述

从这期开始,我会以实际项目的形式,分享个人学习 Rust 语言的过程。期间,我不会讲太多语法知识,需要各位看官自行查阅文档😄。

开始前,需具备 Rust 环境(我用的是当前最新版本

1.77.2

),可看上一篇文章:Rust 安装与版本更新。

#2、前期准备

#2.1、安装 RustRover

笔者 IDE 使用的是 JetBrains 出品的 RustRover,除了吃内存,没有什么缺点🙂。通常,我们可以用以下方式安装 RustRover:

  1. 在官网下载对应平台的安装包,傻瓜式安装
  2. 安装 JetBrains Toolbox,在工具里面点击安装

#2.2、新建项目

我们的项目名称为

rust-journey

,使用 monorepo 结构进行项目开发,Cargo Workspaces 对此提供良好的支持。


项目创建后,我们需要修改自动生成的

Cargo.toml

内容,删除原有配置,并键入如下信息:

[workspace]
resolver = "2"
members = []

如果使用默认配置,会报

no targets specified in the manifest

的错误。

至此,我们的工作空间就创建成功,下一步,需要新建子项目(包)。本文的项目是一个简单的猜数字游戏,取名为

j01_number_game

,Rust 建议使用下划线小写字母的组合😄。

熟悉 CLI (命令行界面)的朋友,可以直接在根目录,执行

cargo new j01_number_game

。或者在 IDE 中右键项目,选择

New->Cargo Crate

,在弹出对话框键入包名即可。


工程结构如下:

#2.3、配置 Git

仓库地址:https://github.com/0604hx/rust-journey,同时配置

.gitignore

文件:

# Generated by Cargo# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

#3、项目实施

j01_number_game

实现一个经典的新手编程问题,猜猜看游戏:程序将会随机生成一个 1 到 100 之间的随机整数;接着它会请玩家猜一个数并输入,然后提示猜测是大了还是小了;如果猜对了,它会打印祝贺信息并退出;共有 5 次猜测机会。

#3.1、程序流程

#3.2、核心代码

usestd::cmp::Ordering;usestd::io;userand::Rng;fnmain(){println!("欢迎来到 Rust 版猜数字游戏");//创建随机数let secret =rand::thread_rng().gen_range(1..=100);letmut limit =5;println!("游戏开始(可尝试 {limit} 次),请输入你猜测的数字:");loop{letmut guess =String::new();io::stdin().read_line(&mut guess).expect("读取用户输入失败");let guess:u32=match  guess.trim().parse(){Ok(num)=> num,Err(e)=>{println!("数值转换出错 {:?}", e);continue}};match secret.cmp(&guess).reverse(){Ordering::Less=>{println!("你猜的是 {guess} ,小了点噢,再猜下:")}Ordering::Greater=>{println!("你猜的是 {guess} ,大了点噢,再猜下:")}Ordering::Equal=>{println!("恭喜,猜对了 O(∩_∩)O");break}}

        limit -=1;if limit <=0{println!("没有可用次数,游戏结束,你没有获得胜利 =.=");break}}}

程序运行效果

#4、小结

对于习惯了 Java、JavaScript 这类语言的我,刚刚开始接触 Rust 语法,着实有点犯怵,觉得哪哪都别扭😂,需要一定的适应时间。

目前算是入门了🎉,下一步将进行 IO 操作。

标签: rust 开发语言

本文转载自: https://blog.csdn.net/ssrc0604hx/article/details/137893785
版权归原作者 集成显卡 所有, 如有侵权,请联系我们删除。

“Rust实战 | 用 RustRover 开发猜数字游戏”的评论:

还没有评论