#numbers #guess #game-1a2b #game-four-digits

bulls-and-cows

为任何数据类型构建牛牛游戏(1A2B)的框架

21个稳定版本

1.0.22 2024年5月1日
1.0.21 2023年9月9日
1.0.20 2022年3月5日
1.0.19 2021年9月18日
1.0.2 2019年3月24日

#86游戏开发

Download history 120/week @ 2024-04-27 8/week @ 2024-05-04 2/week @ 2024-05-18

1,366 每月下载量

MIT 许可证

22KB
410

牛牛游戏

CI

本包提供了一个框架,用于为任何数据类型和任何阶段的牛牛游戏(1A2B)构建。

通常,牛牛游戏是一种有2个玩家参与的游戏,一个提问者和一个猜测者。提问者需要心里想一个4位(0到9)的数字,并让猜测者猜测这个数字。如果秘密数字是4271,猜测者是1234,那么提问者需要回答 1A2B1A2B 将为猜测者提供一个新的线索,以便他们能更好地进行下一轮猜测。

除了4位数字外,玩家可以选择在任意长度的数字上玩游戏。4位数字可以改为4个字母,玩家数量也可以超过2。

用法

可以使用 host 结构独立地生成问题和回答。

let host = bulls_and_cows::Host::build_with_known_answer(bulls_and_cows::Letters::generate_numeric_letters(), vec![1, 2, 3, 4]).unwrap();

assert_eq!((4, 0), host.answer(&[1, 2, 3, 4]).unwrap());
assert_eq!((2, 2), host.answer(&[1, 2, 4, 3]).unwrap());
assert_eq!((0, 4), host.answer(&[4, 3, 2, 1]).unwrap());
assert_eq!((0, 0), host.answer(&[5, 6, 7, 8]).unwrap());

如果您想构建更完整的游戏阶段,请使用 play 模块。您可以通过查看示例 custom_2_players 来学习如何进行。

Crates.io

https://crates.io/crates/bulls-and-cows

文档

https://docs.rs/bulls-and-cows

许可证

MIT

依赖项

~2.6–4MB
~75K SLoC