42 个版本 (2 个稳定版本)
3.0.0-beta.25 | 2024 年 6 月 29 日 |
---|---|
3.0.0-beta.20 | 2024 年 4 月 27 日 |
3.0.0-beta.14 | 2024 年 3 月 25 日 |
3.0.0-beta.5 | 2023 年 12 月 19 日 |
0.4.0 | 2017 年 4 月 26 日 |
#18 in 游戏
每月 90 次下载
用于 better-hand
270KB
5.5K SLoC
rs-poker
RS Poker 是一个 Rust 库,旨在为许多 Rust 代码提供良好的起点。正确性和性能是两个主要目标。
核心
核心模块包含不特定于不同类型扑克游戏的代码。它包含
- 花色类型
- 面值类型
- 牌类型
- 牌组
- 手牌迭代
- 扑克手牌排名类型
- 五张手牌的扑克手牌评估。
- 七张手牌的扑克手牌评估。
- PlayerBitSet 适用于在牌桌上跟踪布尔值。
手牌(5 张牌)评估每手牌大约需要 20 纳秒。这意味着每个 CPU 内核每秒可以评估 5000 万手牌。七张手牌评估每手牌需要 < 25 纳秒。
手牌评估是准确的。《rs-poker》不仅仅依赖于一个踢脚。这种准确性允许在更接近的手牌中打破平局。
德州扑克
德州扑克模块包含特定于德州扑克的代码。目前包含
- 起始手牌枚举
- 手牌范围解析
- 蒙特卡洛游戏模拟助手。
竞技场
竞技场目前是一个测试版功能。没有计划进行破坏性更改,但预期会有新增功能。
竞技场是一个允许创建在模拟的德克萨斯扑克游戏中进行游戏的行为体的功能。这些自主行为体对行为体游戏非常适合确定自动化策略的强度。此外,行为体对行为体的竞技场是快速玩大量 GTO 扑克的好方法。
- 模拟的整体状态的德州扑克模拟结构
- 当前游戏状态
- 您可以实现的代理特质,以创建更强大的扑克代理。
- 一些示例代理。
- 能够观察模拟过程中每个动作的历史学家
测试
代码经过良好测试和基准测试。如果您发现类似bug的问题,请提交包含更新测试代码的PR。
使用模糊测试和5张牌+手牌迭代来验证七张牌手牌评估。
使用模糊测试通过回放生成来验证游戏模拟。
依赖项
~0.6–1.6MB
~32K SLoC