19 个版本 (1 个稳定版)
1.0.0 | 2022 年 8 月 9 日 |
---|---|
0.1.5 | 2022 年 7 月 25 日 |
0.1.3 | 2021 年 11 月 9 日 |
0.0.12 | 2021 年 11 月 4 日 |
0.0.10 | 2021 年 10 月 24 日 |
#519 在 配置
每月 71 次下载
在 3 crates 中使用
67KB
1K SLoC
octopt
octopt
是一个处理 CHIP-8 配置设置的库。
它包含旨在表示所有可能的 CHIP-8 选项的 Rust 数据结构。它还可以将这些结构序列化和反序列化到 Octo 的标准 JSON 格式和 C-Octo 的类似 INI 格式。
请参阅 octopt
文档 以获取详细信息。该文档相当详尽。
理由
CHIP-8 是一个用于播放用解释字节码编写的简单计算机游戏的虚拟机。它自 1977 年以来一直存在,并且有许多略有差异的实现。
CHIP-8 游戏通常需要其模拟器(实际上是解释器)具有特定的行为才能正确运行,但由于仅通过查看游戏字节码无法知道它期望的行为,因此需要额外的元数据来指导模拟器如何运行游戏。这些元数据可以以 JSON 的形式出现——如 Octocarts(参见 decart
)和 CHIP-8 社区存档——或者是一个 INI 文件,如 C-Octo。
用例
目前有许多 CHIP-8 模拟器(其中许多是用 Rust 编写的),但大多数只支持 90 年代制作的几十款游戏,因为它们遵循了一个非全面的教程。(不恰当地自吹自擂:我编写了一个教程,涵盖了重要的 CHIP-8 变体:编写一个 CHIP-8 模拟器。)
如果您正在用 Rust 开发 CHIP-8 模拟器,则可以使用此库作为指南,了解您应该(或可以)包含哪些配置选项以支持过去 44 年中制作的几乎所有 CHIP-8 游戏。
您可以允许用户提供 CHIP-8 游戏以及与其关联的 .octo.rc
文件(C-Octo 使用),该文件包含游戏运行所需的设置,并可以使用 octopt
解析该文件。
或者您可以使用库 decart
,它使用了 octopt
,以便让用户加载带有游戏内预置设置的 Octocarts。
如果您找到了一个酷用的案例,请告诉我!
参阅
依赖
~5–7MB
~129K SLoC