最新c++课程设计-扑克牌游戏.doc

最新c++课程设计-扑克牌游戏.doc

ID:62981336

大小:146.00 KB

页数:14页

时间:2021-07-23

最新c++课程设计-扑克牌游戏.doc_第1页
最新c++课程设计-扑克牌游戏.doc_第2页
最新c++课程设计-扑克牌游戏.doc_第3页
最新c++课程设计-扑克牌游戏.doc_第4页
最新c++课程设计-扑克牌游戏.doc_第5页
资源描述:

《最新c++课程设计-扑克牌游戏.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、精品资料c++课程设计-扑克牌游戏........................................精品资料C++课程设计实验报告1、程序名称:扑克牌游戏2、程序设计功能:创建一副扑克牌,并完成洗牌等相关操作。3、程序设计要求:(1)增加大小王。(2)删去一张指定的牌后,余牌显示。(3)创建一副扑克,显示一副扑克牌,洗牌,一次分发给四个人并显示。程序设计过程中根据设计思想添加功能:(1)根据洗牌参数,添加入可以让玩牌者控制洗牌次数的功能。(2)在可以完成每人删除一张牌的功能基础上,增加可以删除

2、一轮牌(也就是同时每人删除一张牌)的功能。4、对题目的分析与注释总体分析:根据题目的设计要求,增加满足要求所需要的函数,实现相应功能,通过合理安排调用过程,实现题目要求的功能。注释:(已在程序设计过程中指出)5、增加功能的设计思路(1)增加大小王........................................精品资料实现函数:Deck::MakeDeck()PlayingCard::CardMake()Deck::MakeDeck()将参数nLastDelt由51增加到53,生成一副扑克牌的

3、54张牌(0~54),实际上是多分配了两张大小王的空间,控制参数nLastDelt的变化,再通过调用函数PlayingCard::CardMake()将参数传递给nNum,为每张牌(包括大小王)赋予正确的面值和花色,由此生成一副完整的牌。其中对大小王的赋值是添加的功能,具体实现过程如下:voidPlayingCard::CardMake(intnNum)//跟据nNum生成一张扑克牌,nNum不同,生成的面值花色{inti=0;charj;if(nNum==53)//生成大王{strcpy(achFace,

4、"B");chSuit=2;nValue=15;}........................................精品资料if(nNum==52)//生成小王{strcpy(achFace,"S");chSuit=1;nValue=14;}由此段程序可知,参数nLastDelt是由大到小变化的,所以54张牌中首先生成大小王,至于其他牌的生成,是课本源程序上自带的,牌的花色由相应的ASCII码来赋值。(2)删去一张指定的牌后,余牌显示。实现函数:Deck::DelOne()PlayingCar

5、d::ShowCard()Deck::Delete()通过switch语句满足case的条件后,开始进行删除一张牌(调用函数Deck::DelOne()),系统会询问要删除第几个人的第几张牌,在这里考虑到用户可能会误输入大于人数或大于个人牌数的错误数字,因此设计了如果参数不符合要求就返回选择菜单这一步。之后调用Delete()函数将牌删除。Delete()函数为新增函数,具体如下:........................................精品资料voidDeck::Delete(int

6、m,intn)//删除一张,n指删除排的位置(第几张牌){for(inti=n;i<13;i++)card[m][i]=card[m][i+1];card[m][13]=PlayingCard();//将删除的后面的牌依次向前移,并为最后一张赋空,虽然最后一张赋空但其空间仍存在,因此运行时会显示问号。}将牌删除以后,调用ShowCard()显示删除的那张牌,并显示剩余的那张牌以及未删除的人的所有牌。(1)创建一副扑克,显示一副扑克牌,洗牌,一次分发给四个人并显示。实现函数:DeckMakeDriver()D

7、eck::MakeDeck()PlayingCard::CardMake()........................................精品资料Deck::ShowDeck()Deck::DeckShuff()Deck::SendDeck()PlayingCard::ShowCard()主函数中直接调用函数DeckMakeDriver()来实现,其中发牌函数SendDeck()为新增函数,具体实现过程如下:voidDeck::SendDeck()//为四个玩家分牌并显示{intm=0,n

8、=0,p=0,q=0;for(inti=0;i<54;i++){switch(i%4){case0:card[0][m]=m_cardarray[i];m++;break;case1:card[1][n]=m_cardarray[i];n++;break;case2:card[2][p]=m_cardarray[i];p++;break;case3:card[3][q]=m_cardarray[i];q++;br

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。