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

schieber的Python项目详细描述


版权所有(c)2017 Samuel Kurath
版权所有(c)2018 Joel Niklaus


特此免费授予任何获得本软件和相关文档文件(以下简称"本软件")副本的人在本软件中无限制地进行
交易的权利,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,以及允许向其提供软件的人这样做的权利,受限于以下条件:

对于适销性的保证,
适用于特定目的和不侵权。在任何情况下,
作者或版权持有人均不对任何索赔、损害或其他
责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或
软件的使用或其他交易引起的或与之相关的。


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

方式。




Nightly and PyPy3.

在控制台上运行``schieber``命令来玩游戏:
``bash
$schieber
锦标赛开始,目标是1500分。
————————————————————————————————————————————————————————————————————————————————————————————————橡子:9>;
2:<;玫瑰:9>;
3:<;橡子:ober>;
4:<;玫瑰:旗帜>;
5:<;盾牌:8>;
6:<;橡子:ass>;
7:<;玫瑰:ass>;
8:<;玫瑰:在>;


0:trumpf.obe_abe
1:trumpf.unde_ufe
2:trumpf.rose
3:trumpf.bell
4:trumpf.acorn
5:trumpf.shieben
6:trumpf.schieben

geschoben:false

从0到6的数字:
```

[服务器播放器](schieber/player/server-player/server-player.py)接受符合schieber标准的播放器
在[server launcher]下提供了一个如何启动的示例(schieber/example/server_launcher.py)。

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

玩家。
因此,希伯提供了满足这一要求的切入点。


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

tournament=tournament(point_limit=1500)
````

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


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

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

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

诀窍,诀窍和跟踪。

基本上玩家必须提供以下方法:
*设置卡(卡)
*在每轮开始时由庄家调用以获取您的卡
*选择特朗普(Geschoben)
*轮到您时调用选择一张王牌,它必须是一个生成器,并在允许选择王牌之前被调用
*选择卡(状态)
*轮到您选择卡时调用,这必须是一个生成器,并被调用,直到所选的卡被允许

另外还有一个stich_over(state)方法,即在所有玩家都选择了他们的卡后调用。

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

有了这个概念,让我们看看前面提到的随机播放器。
``python
import random


from schieber.player.base\u player import baseplayer
from schieber.trumpf import trumpf


随机播放(基本播放):
定义选择特朗普(self,geschoben):
返回移动(choices=list(trumpf))

定义选择卡(self):
返回移动(choices=self.cards)


定义移动(choices):
允许=错误
不允许:
选择=随机。选择(选择)
允许=屈服选择
如果允许:
不屈服
````
这是怎么回事?

随机玩家非常天真,他只是从选择列表中随机选择一张牌或一张王牌。
如果不允许转弯,他会随机选择一个新的,直到sch规则ieber很满意。

其他玩家示例有[greedy player](schieber/player/greedy戋player/greedy戋player.py)或[cliplayer](schieber/player/cli戋player.py)。

击败随机玩家滴答,诡计和轨道!:奖杯:

\
平台:未知
描述内容类型:文本/标记

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

推荐PyPI第三方库


热门话题
java什么会导致程序在它似乎拥有的监视器上被阻止?   java Android studio设置视图的背景色   java我可以保存一个文本文件而不给用户修改它的能力吗?   pdfbox PDFBOX2。0:java堆堆栈错误   java是维护和操作AllowList的有效方法   JAVAsql。SQLException:找不到适合jdbc的驱动程序:mysql://localhost:3306/asd性爱   如何使用java。lang.NullPointerException:void 安卓。支持v7。应用程序。ActionBar。setElevation(float)“”在空对象引用上'   java调试空指针异常   java正则表达式,以按令牌的特定匹配项拆分,同时忽略其他匹配项   java为JPanel设置边框上的笔划   并发@Schedule方法的java行为   如何在Java中使用泛型与语言运算符和泛型类扩展数   java Rhino Javascript如何为异常堆栈跟踪标记字符串源   运行可执行jar时发生java错误,无法找到或加载主类