时间:2021-05-22
本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下
编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。创建函数gen_pocker()交换牌的顺序,函数getColor()获取牌的花色,函数getValue()获取牌的牌面大小,函数getPuk()获取花色和牌面大小的组合
运行效果
[51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 25, 17, 29, 42, 27, 19, 33, 5, 40, 1, 8, 30, 18, 10, 9, 0, 3, 14, 46, 36, 35, 12, 15, 20, 34, 38, 39, 43, 37, 32, 7, 28, 23, 49, 6]
牌手1:方块4 方块8 方块A 方块Q 红桃3 红桃5 红桃J 草花6 草花A 黑桃10 黑桃4 黑桃5 黑桃K
牌手2:方块6 方块J 方块K 红桃10 红桃2 红桃9 红桃A 红桃Q 草花4 黑桃2 黑桃3 黑桃6 黑桃7
牌手3:方块10 方块2 方块5 方块7 红桃6 红桃7 红桃K 草花2 草花J 草花K 草花Q 黑桃J 黑桃Q
牌手4:方块3 方块9 红桃4 红桃8 草花10 草花3 草花5 草花7 草花8 草花9 黑桃8 黑桃9 黑桃A
import randomdef gen_pocker(n): random.shuffle(n) return n#产生牌的花色def getColor(n): if(n>=0 and n<=12): return "梅花" elif(n>=13 and n<=25): return "方块" elif(n>=26 and n<=38): return "红桃" elif(n>=39 and n<=51): return "黑桃"def getValue(n): if n==0 or n==13 or n==26 or n==39: return 'A' elif n==12 or n==38 or n==25 or n==51: return 'K' elif n==11 or n==37 or n==24 or n==50: return 'Q' elif n==10 or n==36 or n==23 or n==49: return 'J' else: return n%13def getPuk(): List=[] #代表一副牌,现在表示还没有牌,只是一个牌盒 for i in range(0,52): List.append(i) #按顺序往牌盒中放入52张牌 List=gen_pocker(List) #将牌盒中的牌打乱顺序 List1=[] #定义4个牌手 List2=[] List3=[] List4=[] for i in range(0,52): #实现发牌 if i<13: #打乱后的前13张牌发给牌手1,实现牌手1手牌中如何含有花色和数字 List1.append(getColor(List[i])+str(getValue(List[i]))) elif i<26: List2.append(getColor(List[i])+str(getValue(List[i]))) elif i<39: List3.append(getColor(List[i])+str(getValue(List[i]))) else: List4.append(getColor(List[i])+str(getValue(List[i]))) print(List) print("牌手1",List1) print("牌手2",List2) print("牌手3",List3) print("牌手4",List4)getPuk()以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.题目编写程序,4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。提示:设计出3个类:Card类、Hand类和Poke类
本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下构建一副扑克牌,并实现洗牌发牌。代码#include#include#inclu
本文实例为大家分享了python分发扑克牌的具体代码,供大家参考,具体内容如下52张扑克牌发个4个玩家,每人13张。要求:自动生成一幅扑克牌组;洗牌;发牌到玩家
在内存中模拟出一副牌,然后模拟洗牌,发牌等动作。流程是这样的:构建一副牌保存到一个数组中—洗牌—创建玩家—向玩家发牌–输出每个玩家的牌。#include#inc
笔者在大学二年级期间,做过的一次C++程序设计:扑克牌的洗牌发牌游戏。具体内容是:除去大王和小王,将52张扑克牌洗牌,并发出5张牌。然后判断这5张牌中有几张相同