C程序课程设计报告21点游戏[1].docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随机数,枚举类型? C++面向对象程序设计 课程设计报告 设计题目: 21点游戏 学生学号: 学生姓名: 专业班级: 学生成绩: 指导教师: 医药信息工程学院图像处理与多媒体教研室 2011- 设计任务分析 1、21点游戏介绍 21点游戏是一个古老的扑克游戏,游戏的规则是:各个 参与者设法使自己的牌达到总分21而不超过这个数值。扑克牌的分值取它们的面值,A充当1或者11分,J,Q和K人头牌都是10分。 庄家VS1~7个玩家。在开局时,包括庄家在内的所有参与者都有两张牌。玩家可以看到他们的所有牌以及总分,而庄家有一张牌暂时是隐藏的。接下来,只要愿意,各个玩家都有机会依次再拿一张牌。如果是玩家的总分超过了21(称为引爆),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于16,那么他就必须再拿牌。如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家与庄家打成平局中。 2、实现以下功能: 1) 洗牌; 2) 发牌; 3) 隐藏或显示牌; 4) 计算总分; 5) 判断胜负。 21点游戏流程 主要数据结构 扑克版结构体: typedef enum { //扑克牌面值:ACE(A),TWO(2)~TEN(10),JACK(J),QUEEN(Q),KING(K) ACE=1,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING }RankType; typedef enum { //扑克牌花色:CLUBS(梅花),DIAMONDS(方块),HEARTS(红桃)和SPADES(黑桃) CLUBS,DIAMONDS,HEARTS,SPADES }SuitType; struct Card {//扑克牌结构体 RankType rank; //扑克牌面值 SuitType suit; //扑克牌花色 }; 21点游戏类设计 GameOf21Point类 属性成员 变量名 数据类型 意 义 Deck[] Card 一副扑克牌 dealPose int 发牌位置 Name[][] char 玩家改姓名 方法成员 函数名 属 性 函数功能 Shuffle() private 洗牌 GetTotalScore() private 返回总分值 ShowStatus() private 显示当前状态 DealOneCard() private 发牌 Game() public 运行游戏 源代码 #ifndef __CARD_H__ #define __CARD_H__ #includeiostream //#includestdlib using namespace std; typedef enum { //扑克牌面值:ACE(A),TWO(2)~TEN(10),JACK(J),QUEEN(Q),KING(K) ACE=1,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING }RankType; typedef enum { //扑克牌花色:CLUBS(梅花),DIAMONDS(方块),HEARTS(红桃)和SPADES(黑桃) CLUBS,DIAMONDS,HEARTS,SPADES }SuitType; struct Card {//扑克牌结构体 RankType rank; //扑克牌面值 SuitType suit; //扑克牌花色 }; ostream operator(ostream outStream,const Card card) //操作结果:重载运算符 { //输出花色 if(card.suit==CLUBS) outStream梅花; //CLUBS表示梅花 else if(card.suit==DIAMONDS) outStream方块; //DIAMONDS表示方块 else i

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档