4 个版本 (2 个稳定)
1.0.1 | 2024 年 1 月 4 日 |
---|---|
1.0.0 | 2024 年 1 月 3 日 |
0.2.0 | 2023 年 12 月 26 日 |
0.1.0 | 2023 年 12 月 26 日 |
130 在 游戏 中排名
每月下载 25 次
12KB
152 行
单词游戏
这是我在航班延误时用 30 分钟制作的单词链游戏。
用法
执行二进制文件后,您将被提示输入一个单词。一个“单词”是大小写不敏感的 Unicode Alphabetic
字符序列(或一个连字符 -
)。
[!注意] 这是对单词的唯一标准,因为其他所有约束都会限制可用语言和玩家允许使用的特定单词。
每个随后的单词必须以前一个单词结束的字母开头,并且所有单词都必须是唯一的。以下是一个单词链的例子
$ words
> part
> torch
> horse
通常,游戏由多个玩家玩,无法想到下一个单词的玩家会输,但各国的规则不同,所以您可以随意修改规则。
如果您尝试输入一个已经引入的单词,您将收到一个警告
> torch
[-] This word has already been used
您也可以使用 !undo
撤销几个最后的单词,以防输入错误
> etherium
> !undo
[i] Previous word was cancelled: etherium
> ethereum
您可以通过提示 ?
或通过将 --help
传递给可执行文件来查看所有可用命令
安装
Words 游戏的二进制文件名为 words
。
要安装二进制文件,请运行
$ cargo install word-chain-game
构建
此游戏是用 Rust 编写的,因此您需要通过 cargo
编译
$ git clone https://github.com/quadratic-bit/words-game
$ cd words-game
$ cargo build --release
$ ./target/release/words --help
修改
本地化
默认 UI 语言是英语,但分支 locale-ru
包含俄语翻译。
所有字符串字面量都存储在 src/literals.rs
中,并带有说明,因此更改 UI 语言不应有任何问题。在那里,您还可以更改默认提示 >
。
还有这个数组
pub const ILLEGAL_STARTING_CHARACTERS: [char; 4] = ['-', 'ы', 'ь', 'ъ'];
它控制所有单词不能开始的字符(例如,俄语的 ы、ь、ъ 和连字符)。如果用这些字符构造新单词,玩家将收到警告,因为这些字符不能作为后续单词。
撤销缓冲区大小
在这样一款游戏中,需要处理大量的词汇,因此将所有词汇存储在向量中并不合理。但是,为了“撤销”功能,将最后 n
个词汇按原顺序存储是合理的。默认情况下,这个数字是 10
,但可以在 src/main.rs
中进行更改。
const WORD_HISTORY_BUFFER_LENGTH: usize = 10;
测试
您可以通过 tests/
文件夹添加并运行测试。
$ cargo test
依赖项
~0–10MB
~53K SLoC