回顾
在之前的章节中,我们已经完成了如下的工作:
- 准备所需的音频文件
- 设置游戏所需的屏幕和键盘配置
- 创建了游戏主循环并在其中实现按键
Esc
或q
退出游戏的功能 - 游戏退出前还原配置
- 编写界面框架与终端渲染相关的模块和函数
- 游戏主循环和渲染线程的数据通信和协同
玩家的行为才是游戏的灵魂,还是与之前一样,我们将玩家的行为逻辑以及相关的函数,结构体都放在单独的模块中,以使项目的结构更加清晰。
添加玩家模块
在源文件目录下新建一个模块文件player.rs
, 此时我们的项目目录结构看起来应该是这样:
invaders
├── Cargo.lock
├── Cargo.toml
├── explode.wav
├── lose.wav
├── move.wav
├── pew.wav
├── src
│ ├── frame.rs
│ ├── lib.rs
│ ├── main.rs
│ ├── player.rs
│ └── render.rs
├── startup.wav
└── win.wav
注意不要忘记将新建的模块在根库文件lib.rs
中导入,以便在我们的项目中使用:
// lib.rs
pub mod