- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构体之扑克牌模拟程序扑克牌模拟程序 模拟一副扑克牌洗牌、发牌和理牌。要求:将一副牌分发给北家、东家、南家和西家。 对每家牌先按花色顺序(黑桃、红桃、方块、梅花)、再面值顺序(A、K、Q、J、10、9、8、7、6、5、4、3、2)进行整理;显示整理好的每家牌。扑克牌模拟程序思路:每张牌由花色和面值构成,将其定义为结构体,为方便对牌进行整理将花色和面值均定义为int类型。具体如下:typedef struct card{ int suit; //花色 int face; //面值}Card;使用结构体类型数组Poker[52]存放一副牌, 结构体类型数组nesw[4][13]存放四家牌。扑克牌模拟程序理 牌洗 牌初始化一副牌发 牌显示每家牌扑克牌模拟程序 构造一副牌Poker,函数原型为void InitPoker(Card *Poker)。 对0至51的每个整数i,取i/13为该张牌Poker[i]的花色Poker[i].suit(对应输出0表示“黑桃”,1表示“红桃”,2表示“方块”,3表示“草花”)。 取i%13为该张牌Poker[i]的面值Poker[i].face(对应输出0表示A,1表示K,2表示Q,...,11表示3,12表示2)。初始化扑克牌模拟程序将 已初始化的一副牌Poker打乱重分,函数原型为void Shuffle(Card *Poker)。 思想:每张牌都与随机抽取的另外一张牌交换一次。 具体办法:对每一张牌i,通过操作j=rand()%52随机生成一张牌的下标j,将下标为i的牌Poker[i]与下标为j的牌Poker[j]交换,达到洗牌的目的。洗牌扑克牌模拟程序 将已洗好的牌Poker按北家、东家、南家和西家的顺序分发给四家,函数原型为void Deal(Card *Poker,Card nesw[4][13])。 具体方法:将每张牌即Poker[i]发给nesw[i%4]家,写到下标为j[i%4]的元素nesw[i%4] [j[i%4]]里,然后下标j[i%4]加1。发牌扑克牌模拟程序 将每家已发好的牌,先按花色顺序(黑桃、红桃、方块、梅花)、再面值顺序(A、K、Q、J、10、9、8、7、6、5、4、3、2)进行整理,函数原型为void Arrange(Card nesw[4][13])。分别整理第i家牌,对第i家第j张牌(j=0,1,2,...,12)的面值nesw[i][j].face分花色临时存放在数组shdc中,shdc[s]存放nesw[i][j].suit值为s的花色(s=0,1,2,3),shdc[s][f]存放s花色的第f张牌(f=0,1,2,...),其中s为nesw[i][j].suit,f为k[nesw[i][j].suit],然后f加1;一手牌按花色分成四门花色后,对每门花色按面值理牌(排序),这里使用选择排序,调用函数void Sort(int a[13],int n)完成;将每门排好序的花色(共k[m]张牌)依次写回nesw[i]。理牌扑克牌模拟程序 将已整理好的每家牌按整理好的顺序输出,函数原型为void Print(Card nesw[4][13])。定义指针数组char *Suit[]={黑桃,红桃,方块,草花}和char *Face[]={A,K,Q,J,10,9,8,7,6,5,4,3, 2},将第i家第j张牌的花色值nesw[i][j].suit对应Suit[nesw[i][j].suit]指向的字符串,面值nesw[i][j].face对应Face[nesw[i][j].face] 指向的字符串输出。显示
您可能关注的文档
- 4第四章存货044第三讲原材料按计划成本计价1.ppt
- 4第四章存货047第四讲自制和委托加工物资.ppt
- 4第四章存货049第六讲期末计价及期末减值准备2.ppt
- 5第五章金融资产051第五章第一讲金融资产概述.ppt
- 5第五章金融资产054第五章第四讲可供出售金融资产.ppt
- 6第六章长期股权投资061第六章长期股权投资第一讲长期股权投资概述.ppt
- 6第六章长期股权投资062第六章长期股权投资第三讲长期股权投资的权益法.ppt
- 6第六章长期股权投资062第六章长期股权投资第二讲长期股权投资的成本法.ppt
- 6第六章长期股权投资063第六章长期股权投资第四讲长期股权投资的减值和处置.ppt
- 7第七章固定资产及投资性房地产1固定资产概述.ppt
- C语言程序设计(第2版)李学刚教学资源教学课件9-1 文件及文件类型指针.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-2 文件打开与关闭.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-3 读写一个字符.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-4 读写一个字符串.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-5 格式化和数据块读写函数.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-6 文件的随机读写.pptx
- C语言程序设计(第2版)李学刚教学资源教学课件9-7 统计文本文件中各类字符的个数.pptx
- d12无机化学二版电子教案(第二版)012xitiku.doc
- d12无机化学二版电子教案(第二版)012xitikudanan.doc
- d1无机化学二版电子教案(第二版)01xitiku.doc
原创力文档


文档评论(0)