今天开始用 Rust 写一个小游戏,大家可能都玩过—贪吃蛇,今天就写个贪吃蛇 snake。首先创建一个项目 snake : cargo new snake --bin
项目中 Cargo.toml 文件中,添加依赖 rand 和 piston_window。看名字就知道一个生成随机数,一个是在窗口中画像素的。
在终端输入 cargo update 命令。
我们根据 Cargo.lock 中依赖的版本号,修改 cargo.toml 的依赖版本
使用 cargo build 命令,
在 main.rs 中,引入 rand 和 piston_window 依赖
在 src 文件夹下新建 draw.rs 文件,然后引入所需要方法和类型,引入 rectangle(画矩形), Context(上下文对象,也就是窗口提供方法), G2d,下图中有一个 bug, 是 rectangle 而不是 rectagle
定义 BLOCK_SIZE 块的大小 25,然后创建一个坐标转换的方法,将游戏坐标映射到屏幕上的坐标。
创建个画块的方法 draw_block 方法,这个用于在屏幕上画一个小正方形。
创建一个画矩形方法,这里我们需要传入起点坐标,以及矩形的长度和宽度,来画一个矩形。这个图中也有一个 bug,是 width 而不是 height;
创建一个 snake.rs ,然后引入以下依赖。
我们在 main.rs 文件中定义 draw 模块,便可以在 snake.rs 文件中引入 draw 模块的 draw_block 这个方法。
SNAKE_COLOR 定义颜色,并且创建 Direction 枚举,包含上下左右四个变量。