已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程名称:面向对象程序设计与开发课程设计设计题目:“21点”纸牌游戏年 级:09系 别:计算机学院专 业:计算机科学与技术小组成员名单:陈坚鹏 李浩艺 陈子龙任课教师:莫家庆老师完成时间:2012年 3 月 30 日肇庆学院计算机学院课程设计结果评定评阅意见:(1)内容设计 (20分):优()、良()、中()、一般()、差(); (2)流程分析(20分):优()、良()、中()、一般()、差(); (3)数据定义(30分):优()、良()、中()、一般()、差();(4)代码编写(20分):优()、良()、中()、一般()、差();(5)创新能力(10分):优()、良()、中()、一般()、差();(6)格式规范性、设计态度及考勤是否降等级:是()、否()其它意见:评阅人: 2012 年 月 日成绩等级:目 录“21点”纸牌游戏11 概述12 实验内容13 概要设计24 测试结果和分析55 课程设计体会5“21点”纸牌游戏1 概述本课程设计通过编写相关代码实现“21点”游戏。使用语言:c+语言编译环境:vc+ 6.02 实验内容1、问题描述“21点”是一个古老的扑克牌游戏,游戏规则是:各个参与者设法使自己的派达到总分21而不超过这个数值。扑克牌的分值取它们的面值,a充当1分或11分(由玩家自己选择一种分值),j、q和k人头牌都是10分。庄家对付17个玩家。在一局开始时,包括庄家在内的所有参与者都有两张牌。玩家可以看到他们的所有牌以及总分,而庄家有一张牌暂时是隐藏的。接下来,只要愿意,各个玩家都有机会再拿一张牌。如果某个玩家的总分超过了21(称为“引爆”),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于16,那么他就必须再拿牌。如果庄家引爆,那么还没有引爆的所有我那家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家和庄家打成平局。基本要求:编写程序实现游戏,计算机作为庄家,17个人作为普通玩家参与游戏。游戏程运行输出如下所示。多少人加入游戏?(17):2输入第1位玩家的姓名:张三输入第2位玩家的姓名:李四游戏开始:庄家:梅花7张三:红桃7方块j总分值17李四:红桃j红桃3总分值13张三,你想再要一张牌吗(y,n)?n李四,你想再要一张牌吗(y,n)?y李四:红桃j红桃3梅花10总分值23李四引爆!庄家:方块10,梅花7总分值17张三,唉,你打平局了!李四,对不起,你输了!你想再玩一次吗(y,n)?2、需求分析(1)测试边界内的值。(2)测试边界值。(3)测试边界外的值。(4)输出结果。3 概要设计1、存储结构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,kingranktype;typedef enum/扑克牌花色:clubs(梅花),diamonds(方块),hearts(红桃),spades(黑桃)clubs,diamonds,hearts,spadessuittype;struct card /扑克牌结构体ranktype rank; /扑克牌面值suittype suit; /扑克牌花色/21点游戏类gameof21point声明class gameof21pointprivate:card deck52; /一副扑克牌int dealpos; /发牌位置card hands821; /hand0存储于庄家手中的扑克牌, hand17存储于各位玩家手中的扑克牌int numofcard8; /庄家numofcard0及玩家numofcard17手中的扑克牌数char name8len_of_max_name; /庄家与玩家姓名int numofplayer; /玩家人数void shuffle(); /洗牌,将扑克牌混在一起以便产生一种随机的排列int gettotalscore(card hand21,int n); /返回一手扑克牌的总分值void showstatus(int num,bool hidefirstcardandtotalscore=false); /显示庄家(对应num=0)或玩家(对应num0)当前的状态card dealonecard()return deckdealpos+; /发一张扑克牌public:gameof21point();virtualgameof21point()void game(); /运行游戏;2、函数ostream& operator(ostream& outstream, const card &card)/该函数用来重载0)当前的状态card dealonecard()return deckdealpos+; /该函数用来发一张扑克牌int gameof21point:gettotalscore(card hand21,int n )/返回一手扑克牌的总分值void game();/该函数实现游戏的运行,开始。3、流程图输入加入游戏的人数输入游戏者姓名游戏开始随机发牌开始玩家是否添牌添加一张牌,下个玩家显示庄家的牌点数21庄家引爆玩家是否引爆是打平局玩家赢是玩家是否引爆是玩家输否玩家点数是否大于庄家是否否玩家点数是否等于庄家是否显示结果再玩一次是否4 测试结果和分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏扬州广陵区国有企业下属子公司招聘业务人才13人备考题库及答案详解(全优)
- 2026湖南省博物馆招聘备考题库附答案详解(夺分金卷)
- 2026年福建厦门市第四幼儿园补充非在编人员招聘1人备考题库及一套答案详解
- 2026四川蜀道装备科技股份有限公司招聘1人备考题库附答案详解
- 2026年宝鸡社会福利院招聘备考题库(5人)附答案详解(巩固)
- 2026广西数据集团春季校园招聘备考题库附答案详解(基础题)
- 2026重庆飞驶特人力资源管理有限公司派往某事业单位植物组织培养岗招聘备考题库及答案详解(全优)
- 2026年辽宁轻工职业学院单招职业适应性考试题库含答案详解
- 2026年牡丹江大学单招职业技能考试题库含答案详解
- 2026年烟台科技学院单招职业适应性测试题库及答案详解一套
- (完整word版)中医病证诊断疗效标准
- 幕墙工程竣工资料(全套)
- GB/T 9126.1-2023管法兰用非金属平垫片第1部分:PN系列
- 小学道法6 人大代表为人民1课件
- 磨机负荷的磨音多频带检测研究-毕业论文
- 茶餐厅工作手册模板
- 海产鱼类增养殖试题库
- GB/T 700-2006碳素结构钢
- GB/T 16477.1-1996稀土硅铁合金及镁硅铁合金化学分析方法稀土总量测定
- GB/T 13343-2008矿用三牙轮钻头
- GB/T 11032-2020交流无间隙金属氧化物避雷器
评论
0/150
提交评论