今天开始用 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 枚举, 包含上下左右四个变量.
来源: http://www.jianshu.com/p/a9b62ff30194