开放式健身无限制德州霍尔登环境。

holdem的Python项目详细描述


#holdem

:警告:**这是一个实验性的api,它肯定会包含bug,但这就是为什么您在这里!**

```sh
pip install hold em
```

afaik,这是第一个用python编写的[openai-gym](https://github.com/openai/gym)德州无限制hold'em(nlth)
环境。这是一个建立一个同步的健身房环境的实验,
可以支持任意数量的玩家,但也吸引了想要学习如何
"解决"nlth的普通大众。

*python 3支持任意长度的整数:带翅膀的金钱:

正在进行中,但我相信api已经足够成熟,可以进行一些初步的
实验。与我一起在多代理健身房环境中取得一些有趣的进展。

我会尽量让你不那么痛苦地理解这一点。

env=holdem.texasholdemenv(n_seats,max_limit=1e9,debug=false)`

最初没有玩家被分配到表中。必须调用"env.add_player(seat_id,…)"来填充表。
+"max_limit"--max_limit用于定义类的"gym.spaces"api。它实际上并不确定任何nlth限制;支持"gym.spaces.discrete"。
+`debug`-添加要播放的调试语句,将来可能会被删除。

stack=2000)`

如果根据构造器使用的
`n砦seats',表没有足够的座位,将引发一个"gym.error.error"。

它不会重置任何玩家的牌堆,也不会重置任何百叶窗。新的行为是为
api的一个特殊的未来部分保留的,这是另一个在健身房环境中不标准的功能,并且正在进行中。

` player_states`-一个"tuple",其中每个条目都是"tuple(player_info,player_hand)",此功能
可用于通过`(player_info,player_hands)=zip(*player_states)收集所有状态和手。
+"player_infos`-是描述单个播放器的"int"功能的"列表"。它包含
以下索引:
0。`[0,1]`-`0`-座位是空的,`1`-座位不是空的。
1.`[0,n_u seats-1]`-玩家的ID,他们坐的地方。
2.`[0,inf]`-玩家当前的堆栈。
3.`[0,1]`-玩家正在玩当前牌。
4.`[0,inf]`根据'treys.evaluator.evaluate(hand,community)`玩家当前的等级。
5.`[0,1]`-`0`-玩家未玩此回合,`1`-玩家已玩此回合。
6.`[0,1]`-`0`-玩家当前没有下注,`1`-玩家正在下注。
7.`[0,1]`-`0`-播放机当前不全在,`1`-播放机全在。
8.`[0,inf]`-玩家的最后一个边角球。
+`player\u hands`-是描述玩家口袋中卡片的"int"特征的"列表"。
这些值基于"treys.card"整数表示进行编码。
1。` community-u表示一个元组(community-infos,community-cards),其中:
+`community-infos`-a`list`按索引:
0。`[0,n_u seats-1]`—经销商按钮的位置,大盲板张贴位置。
1。`[0,inf]`-当前的小盲量。
2.`[0,inf]`-当前的大盲量。
3.`[0,inf]`-当前社区pot中的总金额。
4。`[0,inf]`-上次公布的加薪金额。
5。`[0,inf]`-如果高于0,则要求的最低加薪金额。
6。`[0,inf]`-调用所需的金额。
7。`[0,n盱seats-1]`-需要采取行动的当前玩家。
+`community眙cards`-是描述社区中的卡的"int"功能的"列表"。
这些值基于"treys.card"整数表示进行编码。列表中有5个"int",其中"-1"表示没有卡。


(community_infos,community_cards))=env.reset()
(player_infos,player_hands)=zip(*player_states)

当没有其他人提出时检查,提出时调用。
actions=holdem.safe_actions(community_infos,n_seats=n_seats)
(player_states,(community_infos,community_cards)),rews,terminal,info=env.step(actions)
env.render(mode='human')

env=gym.make('texasholdem-v1')holdem.texasholdemenv(2)

1手有2000个"筹码"
玩一手
玩一手(env,env.n_u seats)

再增加一个玩家
env.add_u player(2,stack=2000);用2000个"筹码"将另一个玩家添加到座位1
玩另一手
玩一手(env,env.n_u seats)
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言