14 个版本
0.1.14 | 2021年3月4日 |
---|---|
0.1.13 | 2021年2月24日 |
0.1.10 | 2020年11月12日 |
0.1.9 | 2020年10月17日 |
0.1.5 | 2020年7月23日 |
#1233 在 算法
63 每月下载量
95KB
2K SLoC
RustPoker
用 Rust 编写的扑克库。
- 多线程范围 vs 范围权益计算
- 快速手牌评估
- 高效的手牌索引
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
rust_poker = "0.1.13"
注意:使用 rust_poker
的第一个应用程序构建将花费额外的时间生成手牌评估表
手牌评估器
使用最多 7 张牌评估任何扑克手牌的强度。
用法
use rust_poker::hand_evaluator::{Hand, CARDS, evaluate};
// cards are indexed 0->51 where index is 4 * rank + suit
let hand = Hand::empty() + CARDS[0] + CARDS[1];
let score = evaluate(&hand);
println!("score: {}", score);
权益计算器
计算最多 6 个由 equilab-like 范围字符串指定的范围的范围 vs 范围权益。支持蒙特卡洛模拟和精确权益计算
用法
use rust_poker::hand_range::{HandRange, get_card_mask};
use rust_poker::equity_calculator::approx_equity;
let ranges = HandRange::from_strings(["AK,22+".to_string(), "random".to_string()].to_vec());
let public_cards = get_card_mask("2h3d4c".to_string());
let stdev_target = 0.01;
let n_threads = 4;
let equities = approx_equity(&ranges, public_cards, n_threads, stdev_target);
println!("player 1 equity: {}", equities[0]);
版权
手牌评估器和权益计算器库是 zekyll 的 C++ 权益计算器 OMPEval 的 Rust 重写
许可证
此项目受 MIT 许可证许可
版权 (c) 2020 Kyle Murphy
依赖
~1.6–2.6MB
~51K SLoC