克里贝奇计分工具

cribbage-scorer的Python项目详细描述


克里比奇记分器

Cribebage scorer是经典纸牌游戏的简单计分引擎。在

有关游戏的详细信息和历史记录Wikipedia has a good summary

有关如何播放和规则的说明,请参阅American Cribbage Congress

安装

pip install cribbage-scorer

得分

下面是如何使用该库的示例。在

在库和示例中,我使用了以下约定:

  • 1:王牌
  • 2-10:非正面卡。在
  • 11:杰克
  • 12:女王
  • 13:国王

D=钻石, H=心脏, C=俱乐部, S=黑桃。在

球员按比赛顺序排列。所以。。。在

  1. Abi玩了5个钻石
  2. Bob打了5个黑桃
  3. Abi玩了5个俱乐部
  4. Bob玩了一把钻石。在

…表示为:

^{pr2}$

切口

cut_calc_score函数在游戏的“剪切”阶段使用。在

这是一个简单的功能,分配2点给经销商,如果pone切断一个插孔作为启动卡。在

fromcribbage_scorerimportcribbage_scorercut_card=(11,"D")players=["Abi","Bob"]dealer="Bob"scores,msg=cribbage_scorer.cut_calc_score(cut_card,players,dealer)print(scores,msg)

结果:

{'Abi': 0, 'Bob': 2} Cut card is a Jack, Dealer scores 2pts.

这出戏

play_calc_score_whole_game函数用于游戏的“播放”阶段。在

play_calc_score_whole_game处理3个和4个玩家以及标准的2人游戏。它也能理解“Go”呼叫。在

要使用,请从GitHub克隆并运行以下Python代码:

fromcribbage_scorerimportcribbage_scorerplayers=["Abi","Bob"]played_cards=[(5,"D"),(5,"S"),(5,"C"),(11,"D")]scores,current_count,play_log=cribbage_scorer.play_calc_score_whole_game(played_cards,players)print(scores,current_count,play_log)

结果:

{'Abi': 8, 'Bob': 3}25['Count: 5, No Points scored, None said Go. ', 'Count: 10, Bob: 2 of a kind (2pts), score so far: 2 ', 'Count: 15, Abi: 15 for 2pts, 3 of a kind (6pts), score so far: 8 ', 'Count: 25, Bob: Last card (1pt), score so far: 3 ']

节目

show_calc_score函数在游戏的“表演”阶段使用。在

show_calc_score处理庄家和非庄家手牌,对于标准的6张牌(4张在你手上,2张给婴儿床)+游戏的启动卡/切牌版本。在

要使用,请从GitHub克隆并运行以下Python代码:

fromcribbage_scorerimportcribbage_scorerstarter=(5,"D")hand=[(5,"D"),(5,"S"),(5,"C"),(11,"D")]crib=Falsescore,msg=cribbage_scorer.show_calc_score(starter,hand,crib)print(score,msg)

结果:

(29, "Four of a kind: 5s (12pts), Made 15 from [(5, 'D'), (11, 'D')] (2pts), Made 15 from [(5, 'S'), (11, 'D')] (2pts), Made 15 from [(5, 'C'), (11, 'D')] (2pts), Made 15 from [(11, 'D'), (5, 'D')] (2pts), Made 15 from [(5, 'D'), (5, 'S'), (5, 'C')] (2pts), Made 15 from [(5, 'D'), (5, 'S'), (5, 'D')] (2pts), Made 15 from [(5, 'D'), (5, 'C'), (5, 'D')] (2pts), Made 15 from [(5, 'S'), (5, 'C'), (5, 'D')] (2pts), One for his nobs (1pt)")

许可证:

版权所有©2020彼得·霍顿

特此免费授予获得本软件和相关文档文件(以下简称“软件”)副本的任何人无限制地使用本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向其提供软件的人提供软件,但须符合以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。在

本软件按“原样”提供,无任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而引起的、与之相关的任何索赔、损害赔偿或其他责任负责,无论是合同诉讼、侵权诉讼还是其他诉讼。在

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

推荐PyPI第三方库


热门话题
IntelliJ中的java默认Maven项目结构不一致   java我希望链接(在帖子和页面上)在一些访问者加载时被自动点击   java如何使用单独的方法隐藏JButton并在新类中调用   java KStream leftJoin KStream具有相同的密钥   java图像在垂直滚动窗格视图端口中消失   java从指定的起始点开始以n的增量填充数组   java JLabel和JTextField不在swing表单中应用   java springboot mongo如果没有映像,请使用现有映像   类似C++映射的java容器   java如何在没有Valgrind错误的情况下调用JNI_CreateJavaVM?   java如何在安卓中运行后台服务   java onPostExecute不运行