新贵 Rust — 贪吃蛇(1)

8207483-014352d30850b26e
8207483-c0d01886b0db04c9
8207483-b17a0b0b2ceac5f8
8207483-f42ff14d68acef63

今天开始用 Rust 写一个小游戏,大家可能都玩过—贪吃蛇,今天就写个贪吃蛇 snake。首先创建一个项目 snake : cargo new snake --bin

8207483-b5102ca40c14a954

项目中 Cargo.toml 文件中,添加依赖 rand 和 piston_window。看名字就知道一个生成随机数,一个是在窗口中画像素的。

8207483-7e27b8d099cdf6db

在终端输入 cargo update 命令。

8207483-94b5a454fd0b534a

我们根据 Cargo.lock 中依赖的版本号,修改 cargo.toml 的依赖版本

8207483-c6ee5f7c6902da3f

使用 cargo build 命令,

在 main.rs 中,引入 rand 和 piston_window 依赖

8207483-5c8be9c2572ca0f2
8207483-dacd0445c60b3e7f

在 src 文件夹下新建 draw.rs 文件,然后引入所需要方法和类型,引入 rectangle(画矩形), Context(上下文对象,也就是窗口提供方法), G2d,下图中有一个 bug, 是 rectangle 而不是 rectagle

8207483-fc0bfb40585fae4b

定义 BLOCK_SIZE 块的大小 25,然后创建一个坐标转换的方法,将游戏坐标映射到屏幕上的坐标。

8207483-dc0d9f8ba662fb3d

创建个画块的方法 draw_block 方法,这个用于在屏幕上画一个小正方形。

8207483-91dca08707e870a7

创建一个画矩形方法,这里我们需要传入起点坐标,以及矩形的长度和宽度,来画一个矩形。这个图中也有一个 bug,是 width 而不是 height;

8207483-4680951054f170ba

创建一个 snake.rs ,然后引入以下依赖。

8207483-3e4e130bde4d8066

我们在 main.rs 文件中定义 draw 模块,便可以在 snake.rs 文件中引入 draw 模块的 draw_block 这个方法。

8207483-0e2b89495742773f

SNAKE_COLOR 定义颜色,并且创建 Direction 枚举,包含上下左右四个变量。

8207483-dd4ea36b7a1f4165

猜你喜欢

转载自blog.csdn.net/weixin_34226706/article/details/86797442