本页目录

Rust 终端 ASCII 游戏 BEAST(1984 经典复刻)

beast · dominikwilkowski/beast

这是一款用 Rust 编写的终端 ASCII 游戏,它致敬 Dan Baker 等人于 1984 年推出的同名作品 BEAST。该项目已发布到 crates.io,包名为 beast1984,并提供 Homebrew 安装方式。游戏需要 POSIX 兼容终端(采用 stty 风格的模式切换),只能...

动作游戏 益智解谜 无明确引擎 Rust 角色控制 敌人 AI 寻路算法 关卡管理 中级
★ Stars 59 Forks 7 License 未明确 更新 2026-08-17

国内开发环境适配

Windows
不支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
国内可通过 crates.io 安装,但需确保网络可访问 crates.io;从源码构建需安装 Rust 工具链。Homebrew 方式可能需要配置镜像源。

中文项目介绍

BEAST 是一款用 Rust 编写的终端 ASCII 游戏,它是对 1984 年由 Dan Baker、Alan Brown、Mark Hamilton 和 Derrick Shadel 共同创作的经典 ASCII 游戏《BEAST》的致敬之作。该项目由 Dominik Wilkowski 开发,已发布至 crates.io,包名为 beast1984,并提供了 Homebrew 安装方式。游戏完全运行在终端中,采用 ASCII 字符绘制画面,玩家需要操控角色在关卡中移动方块来碾压野兽,体验复古的街机乐趣。

README 中明确说明,游戏需要 POSIX 兼容的终端(即支持 stty 风格的模式切换),因此只能在类 Unix 系统上运行。Windows 用户需要通过 WSL(Windows Subsystem for Linux)来安装和运行。项目使用 Rust 语言构建,代码结构清晰,并提供了详细的安装、玩法、高分榜、与原版差异等文档章节。

玩法指南

游戏的目标是在一系列关卡中生存下来,通过移动方块来碾压野兽。具体规则如下:

  • 玩家角色由 ◄► 表示,每回合可以移动或推动方块。
  • 普通野兽(├┤)会向玩家位置移动,玩家可以用可移动方块(░░)将其碾压。
  • 超级野兽(╟╢)更难杀死,必须将其挤压在静态方块(▓▓)上才能消灭。
  • 蛋(○○)在关卡开始时处于休眠状态,但会随时间孵化成孵化野兽(╬╬)。
  • 孵化野兽是最难对付的敌人,它们可以移动方块来碾压玩家,但也可以像普通野兽一样被任何物体碾压。
  • 游戏包含帮助屏幕,玩家可以查看按键说明和游戏规则。

核心功能

终端 ASCII 画面

游戏完全在终端中运行,使用 ASCII 字符表示玩家、野兽、方块等元素,例如玩家为 `◄►`,普通野兽为 `├┤`,超级野兽为 `╟╢`,蛋为 `○○`,孵化后的野兽为 `╬╬`,可移动方块为 `░░`,静态方块为 `▓▓`。

经典玩法复刻

玩家需要移动方块来碾压野兽,野兽会每回合向玩家位置移动。随着关卡推进,会出现超级野兽、蛋等更具挑战性的敌人。

全局高分榜

游戏内置与在线服务器同步的全局高分榜,玩家可以输入自己的名字与全球玩家竞争,前 100 名会被保存。

跨平台安装

支持通过 Homebrew 或 Cargo 安装,也可以从源码构建。

与原版的差异

作者在 README 中详细列出了与原版的不同之处,例如棋盘尺寸从 38x21 扩大到 50x30,增加了全局高分榜、帮助屏幕分页、背景颜色动画等,同时移除了原版中的拉拽方块、爆炸方块和多人模式等功能。

技术架构分析

技术要点

  • Rust 语言实现:项目使用 Rust 编写,充分利用了 Rust 的内存安全性和并发特性,代码通过 cargo test 进行测试,并遵循 cargo fmt 格式化规范。
  • 终端控制:游戏依赖 POSIX 终端的 stty 风格模式切换,实现非阻塞输入和屏幕刷新,确保在类 Unix 系统上流畅运行。
  • 寻路算法:作者提到,游戏中的寻路算法比原版更加先进和高效,使得野兽的移动更加智能。
  • 关卡管理:目前游戏包含 10 个预定义关卡,每个关卡有不同的敌人组合和难度。
  • 游戏状态管理:游戏包含帮助屏幕、高分榜、关卡切换等状态,通过清晰的代码结构进行管理。

如何构建

游戏提供了多种安装方式:

  • Homebrew:执行 brew tap dominikwilkowski/beast https://github.com/dominikwilkowski/beast.git,然后 brew install dominikwilkowski/beast/beast,最后运行 beast 即可开始游戏。
  • Cargo:执行 cargo install beast1984,然后运行 beast。
  • 从源码构建:克隆仓库 git clone https://github.com/dominikwilkowski/beast.git,进入目录后执行 cargo build --release。

注意:游戏需要 POSIX 兼容终端,Windows 用户需在 WSL 中运行。

补充说明

发布历史

  • 1.0.3:更新依赖
  • 1.0.2:重命名 crates.io 包并包含 README.md
  • 1.0.1:移除 beast_common crate
  • 1.0.0:首个 Rust 版本发布

学习建议

该项目适合对 Rust 语言和终端游戏开发感兴趣的开发者学习。通过阅读源码,可以了解如何在终端中处理输入输出、实现游戏循环、设计简单的 AI 寻路算法以及管理游戏状态。同时,项目结构清晰,测试完备,是学习 Rust 项目组织和测试编写的良好范例。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目