课程的设计点游戏.docVIP

  1. 1、本文档共30页,可阅读全部内容。
  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文档。上传文档
查看更多
武汉理工大学《专业课程设计3》课程设计说明书 PAGE  PAGE 30 24点游戏课程设计报告 1 基本功能描述 24点游戏是一种使用扑克牌来进行的益智类游戏,游戏内容是:从一副扑克牌中抽去大小王剩下52张,任意抽取4张牌,把牌面上的数运用加、减、乘、除和括号等进行运算得出24。每张牌都必须使用一次,但不能重复使用。在不同版本中,对J、Q、和K的处理有些差异。一个常见的版本是把J、Q、和K去除,或当成10;还有一个版本是把J表示11,Q表示12,K代表13。本次课程设计采用将J、Q、K去除,使四张牌在1~10这十张牌中随机取牌。具体功能如下: [1]由三个难度级别数,分别为一级、二级和三级。每次发牌前可进行难度设置,若不设置,系统默认为难度级别数为二级。难度级别设置完后,点击“发牌”按钮,桌面上显示四张翻开的扑克牌,并且游戏开始计时,进度条开始前进。 [2]在规定的时间内,用户可以在输入算式编辑框中输入想好的算式,并按下“验算”按钮。如果不输入任何数字和算符,会弹出“表达式有问题!”,然后再弹出一个对话框,显示“对不起,您的输入不正确!”;如果输入的数字与给出的不符或者符号不合法,会弹出“对不起,您的输入不正确!”;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,就会出现“ The result is: ! ”;如果输入算式经运算后所得答案正确,则会弹出“你做对了!”。点击弹出对话框的确定按钮,会出现本轮的用时和分数。 [3]如果在规定的时间内,没有点击验算按钮,则会弹出一个对话框,上面显示“Time Over!”。 [4]在结束本轮游戏后,如果用户想继续游戏,点击“重新发牌”按钮即可重新发牌;如果用户想结束游戏,点击“结束”按钮即可结束游戏。 2 设计思路 24点游戏的具体流程图如下图1所示,下面对流程图进行详细的说明。 在游戏开始前有难度设置选项,用户可根据自己的实际水平进行设置。难度级别有三个级别,分别为一级、二级和三级。三个级别是通过时间来区别的,级别越高,可用时间越少。三个级别的对应时间分别是100秒、60秒和50秒。该设置不是必选项。如果用户不设置,系统默认为难度级别二。 按下“发牌”,游戏开始,通过调用srand()和rand()函数,桌面上会随机显示出4张纸牌,这四张牌从1~10这10张牌中随机调出。同时,标识耗时时标的进度条开始前进(m_Progress1-SetPos(m_Progress1-GetPos()+1),计时同步开始(SpendTime++)。由于三个等级设置的时间不一样,进度条在三种情况下的步长也不相同。 Y N N Y N Y Y N 是否设置难度? 一级:m_Hardlevel=100 二级:m_Hardlevel=60 三级:m_Hardlevel=50 系统默认难度级别为二级 m_Hardlevel=60 初始化:OnInitDialog() 发牌:srand();rand() 计时开始:OnTimer() 输入算式,进行计算 SubCompute();TotalCompute() m_Progress1-GetPos()=m_Hardlevel 显示“Time Over!” AfxMessageBox() OnYanSuan()函数 判断计算结果是否为24? 算式为空白:显示:“表达式不能为空白!” 输入字符错误: 显示:“对不起,你的输入不正确!” 运算结果正确:“你做对了!” 运算结果错误: 显示:“The result is: !” 继续否? 结束 开始 图1 24点游戏程序流程图 游戏设置了时间限制,该设置是通过比较函数m_Progress1-GetPos()的返回值和参数m_Hardlevel的大小。如果函数的返回值小于参数m_Hardlevel,代表游戏还没结束,用户还有时间进行思考。否则,本轮游戏结束,在函数OnTimer()的作用下,会弹出对话“Time Over!”。 若用户在规定时间内点击了“验算”按钮,系统通过对SubCompute()和TotalCompute()两函数的调用进行相应运算,紧接着系统调用OnYanSuan()函数对编辑框中运算出的结果进行验算,根据验算情况给出相应的结果。出现的结果有以下四中情况:(1)如果用户没在输入算式中输入算式,直接按“验算”按钮,会弹出“表达式不能为空白!”的提示对话框。(2)如果输入的数字与给出的不符或者符号不合法,会弹出“你的输入不正确!”的提示对话框。(3)如果输入的数字与四张牌相符、字符亦合法但是答案不正确,会弹出“The result is: !”。(4)如果输入算式经运算后所得答案正确,则会弹出“你做对了!”在以上任意一种情况下,点击弹出框中的“确定”按钮,系统会自动给出本

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档