5 个稳定版本
1.1.3 | 2022年6月18日 |
---|---|
1.1.1 | 2022年6月11日 |
1.1.0 | 2022年6月10日 |
1.0.0 | 2021年2月18日 |
在 科学 类别中排名 #204
495KB
4K SLoC
FreeBJ 黑杰克模拟器
FreeBJ 是一个免费开源的黑杰克模拟器,用于对游戏策略进行统计分析。它支持各种游戏规则,包括以下有效组合:
- 欧洲无孔牌(ENHC)或美国孔牌(AHC);
- 击打软17或停在软17;
- 任意数量的牌组;
- 分牌后加倍(DAS)或不加倍;
- 仅在10-11、9-11或任意两张牌上加倍;
- 击打分牌的A或不用击打;
- 最大分牌手数;
- 早和晚投降;
FreeBJ 能够使用高-低系统计数牌,并基于可编程的投注策略调整投注。模拟器还支持播放偏差,并且可以动态添加自己的偏差。
FreeBJ 是一个命令行界面程序,它在其标准输出上打印收集到的所有统计信息的 JSON;程序还可以按需输出银行存款样本的 CSV,以便查看整个游戏会话中资本的演变。
安装
安装 FreeBJ 最简单的方法是通过 Rust 的 Cargo
$ cargo install freebj
有关如何为您的操作系统和发行版安装和使用 Cargo 的更多信息,请参阅 crates.io
典型用法
FreeBJ 可以不使用任何参数调用,它将运行默认规则的模拟,模拟一百万轮
- 美国孔牌(AHC);
- 停在软17(S17);
- 无DAS;
- 6副牌;
- 无投降;
默认禁用计牌。
$ freebj
{
"rounds": 1000000,
"rules": {
"game_type": "ahc",
"soft17": "s17",
"das": false,
"bj_pays": 1.5,
"double_down": "any_two",
"surrender": "no_surrender",
"play_ace_pairs": false,
"max_splits": 4,
"decks": 6,
"penetration_cards": 250
},
"ev": -0.006965999999999973,
"stddev": 1.134225621872368,
"winning_distrib": {
"-4.0": 78,
"-3.0": 565,
"-2.0": 42360,
"-1.0": 436266,
"+0.0": 88616,
"+1.0": 326537,
"+1.5": 44988,
"+2.0": 59870,
"+3.0": 612,
"+4.0": 108
},
"hands": {
"total": 1024402,
"won": 445247,
"lost": 491025,
"push": 88130,
"busted": 161041,
"blackjack": 47147,
"doubled": 95252,
"split": 46241,
"insured": 0,
"surrender": 0
}
}
有关 JSON 输出和所有选项的更多信息,请参阅手册页 freebj(1)。
更多用法示例
运行跨16个线程的10亿轮模拟
$ freebj -n 10G -j 16
玩带有早投降、DAS、击打软17和4副牌的欧洲游戏
$ freebj --enhc --esurr --das --h17 -d4
始终以一张A和5作为玩家的牌,以及一张8作为庄家的上牌开始每一轮,并总是加倍(而不是击打)
$ freebj -c A,5 --dealer=8 -aD
启用高-低计牌并使用默认的播放偏差(前20个偏差),使用默认的投注策略(TC 0上投注1.0,每个TC点增加投注1,不玩负TC)
$ freebj --hilo --deviations
启用高低牌,无默认偏差,但添加特定用户玩偏差,包括用TC ≥ 3对庄家6的加倍下注
$ freebj --hilo -D "12vs6:>3D"
启用高低牌,无玩法偏差,并设置自定义投注策略,其中玩家在TC 0时投注10.00美元,在每个正TC点(分别)或负TC点(分别)增加(减少)5.00美元的投注。将最大TC设置为6以限制风险
TC | 投注 |
---|---|
−3 | 0.00美元 |
−2 | 0.00美元 |
−1 | 5.00美元 |
0 | 10.00美元 |
+1 | 15.00美元 |
+2 | 20.00美元 |
+3 | 25.00美元 |
+4 | 30.00美元 |
+5 | 35.00美元 |
+6 | 40.00美元 |
+7 | 40.00美元 |
$ freebj --hilo -b 10.0 --bet-per-tc=5.0 --bet-max-tc=6
使用FreeBJ进行黑杰克研究
FreeBJ可以被视为研究工具,用于研究黑杰克及其策略。其他研究工具可以建立在freebj
(所谓“研究”脚本)的基础上;本源树中未提供,但作者在freebj_study
存储库中提供了许多输出数据。
还可以通过网站发布这些结果
依赖关系
~4–6MB
~99K SLoC