- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- CAD小小的技巧(全部是画图遇到的问题).doc
- CAD工程师认证概念题目.doc
- cad工程师认证考试300题.doc
- CAD常见问题全面解答.doc
- CAD常见问题解答50问(必威体育精装版修订版).docx
- CAD打开图时字体选择问题.doc
- CAD操作中常见的问题.doc
- CAD教案(直线、圆命令).doc
- CAD教程机械之标题栏填充技巧.doc
- CAD必威体育精装版认证考试试题.doc
- (完整版)工程管理招投标毕业设计开题报告.pdf
- (精华版)必威体育精装版国家开放大学电大专科《建筑构造》形考任务1及任务4题库答案.pdf
- 2022-2023学年沪科版八年级数学上册《第11—12章》寒假综合复习训练题(附答案).pdf
- 黑龙江省绥化市第九中学2022-2023学年高三上学期第三次月考化学试题.pdf
- 2022-2023学年全国初中七年级上政治人教版期中试卷(含答案解析)042114.pdf
- 2022—2023学年江苏省泰州市姜堰区励才实验学校八年级下学期期中数学试卷.pdf
- (北师大版(三年级起点))小学英语六下 期末测试(附答案).pdf
- 2022-2023学习报八年级英语(下)形成性练习参考答案及听力材料.pdf
- 2022-2023学年江苏省镇江市八年级(上)期末生物试卷(附答案详解)19451.pdf
- (2022年版)《义务教育语文课程标准》测试题含答案(三套).pdf
文档评论(0)