pyschieber是流行的瑞士纸牌游戏schieber的一个终端应用程序,它为游戏提供了一个api

pyschieber的Python项目详细描述


[![构建状态](https://travis-ci.org/murthy10/pyschieber.svg?branch=master)"(https://travis ci.org/murthy10/pyschieber)
<;a href="url">;<;img src="/docs/images/jasskarten.gif"align="right"width="300">;<;/a>;
pyschieber
pyschieber是著名的瑞士schieber-jass游戏的实现。

为了让一些流行的游戏学习你的算法,掌握这些游戏。
pyschieber的目标是以同样的方式提供一个api。




3.7,3.5-dev,3.6-dev,3.7-dev,nightly和py py 3.

游戏机上的schieber```命令玩游戏:
`` bash
$pyschieber
比赛开始,目标是1500分。
第一回合开始。

1:橡子:9;橡子:9;橡子:9;2:玫瑰:9;玫瑰:9;3:橡子:ober;
4:玫瑰:旗帜;
5:盾牌:8>;
6:橡子:橡子:屁股;
7:玫瑰:玫瑰:屁股;
8:玫瑰:玫瑰:下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下;下:特朗普。奥贝
1:特朗普。乌夫
2:特朗普f.rose
3:trumpf.bell
4:trumpf.acorn
5:trumpf.shield
6:trumpf.schieben

geschoben:false


eber为您的机器人提供了一个包装器,可以在zühlke jass服务器上播放。

[server player](pyschieber/player/server-player/server-player.py)使用pyschieber conform播放器
[server-launcher](pyschieber/example/server-launcher.py)下面提供了一个如何启动的示例。

有关更多信息,请查看:
*https://github.com/webplatformz/challenge
*https://github.com/jakeret/elbotto

api:clipboard:
pyschieber的想法是用自己实现的玩家扩展游戏。
henc schieber为ful提供入口点满足这个要求。

首先,你要做的是实例化一个新的锦标赛。
``python
来自pyschieber.tournament import tournament

tournament=tournament(point_limit=1500)
```

2.将玩家添加到您的锦标赛中。在我们的示例中,我们使用不稳定的random player tick、trick、track和greedyplayer dagobert。
`` python
来自pyschieber.player.random\player导入randomplayer
来自pyschieber.player.greedy\player.greedy\player导入greedyplayer


players=[randomplayer(name='tick'),randomplayer(name='trick'),
randomplayer(name='track'),greedyplayer(name='dagobert')]

[锦标赛。为球员中的球员注册球员]
````


3。现在我们准备好比赛了,让比赛开始吧!
``python
tournament.play()
``

r必须提供方法:
*设置卡(card)
*在每轮开始时由经销商调用以获取您的卡
*选择特朗普(geschoben)
*当轮到您选择特朗普时调用,这必须是生成器并被调用,直到允许选择特朗普
*选择卡(状态)
*当轮到你选择卡时调用,这必须是一个生成器,并在允许选择卡之前被调用

另外还有一个stich\u over(状态)方法,即在所有玩家选择了他们的卡后调用。

实现您自己的播放器的最简单方法是继承BasePlayer类(因为Python使用duck类型并不是绝对必要的),它提供了一些基本功能,如存储卡。

看看前面提到的随机播放器。
`` python
从pyschieber导入随机

s=list(trumpf))


def choose嫒card(self):
返回move(choices=self.cards)



def move(choices):
允许=false
不允许:
选择=random.choice(choices)
允许=yield choice
如果允许:
不产生
```
这是怎么回事?

随机玩家非常天真,他只是从选择列表中随机选择一张牌或一张王牌。
如果回合不允许,他会随机选择一个新的回合,直到满足希伯的规则。

让你的手脏,实现你自己的球员和击败随机球员滴答,伎俩和轨道!:奖杯:

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

推荐PyPI第三方库


热门话题
java中char的用途   swing修复,以便显示可以同时显示十进制数和整数   java给定一个场景,找到拥有的JFXPanel   java JPA 2标准获取路径导航   java如何用JUnit测试这个类?   JSF中的java请求作用域   Spring云Zuul代理背后的java Spring OAuth授权服务器   java限制聚合返回的存储桶大小   java如何在安卓应用程序中请求超级su权限   防止超级关键字的java Checkstyle规则   java 安卓。应用程序。应用程序无法强制转换到安卓。应用程序。在回收器适配器中使用FragmentManager时的活动   使用Java的Twitter广告API   切换到4.0.1版本后,java“JavaMailSenderImpl无法解析为类型”   java没有getter方法可用于名称下bean的属性   java 0/1背包堆空间   java我无法使用断点进行调试   Jar文件名表单java代码   java调用从扩展活动的MainActivity类扩展片段的类片段