- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 18
目 录
TOC \o 1-3 \u 1. 基本功能描述 1
2. 设计思路 1
3. 软件设计 3
3.1 设计步骤 3
3.2 界面设计 3
3.3 关键功能的实现 4
4. 结论与心得体会 4
5. 参考文献 5
6. 思考题 5
7. 附录 6
7.1 调试报告 6
7.2 测试结果 6
7.3 关键源代码 9
24点游戏
1. 基本功能描述
(1)游戏开始之前可以进行难度选择(默认为简单),难度选定后点击“发牌”按钮,程序上方会随机显示4张扑克牌,进度条开始工作,用以标识耗时,同时“发牌”按钮名称变为“重新开始”。
(2)在规定时间范围内,用户可以思考并输入算式。输入完成后,点击“验算”按钮,系统将对输入结果进行检验。若结果正确,显示“你真行!”,同时计分栏将根据难度给予不同的分值奖励;若结果不是24,则显示“输入错误!”,计分栏分数不变。
(3)若在规定时间内没有完成输入或没有点击“验算”按钮,则会弹出“时间到!”对话框。
(4)菜单可同样实现“发牌”和“结束”功能,同时还有“帮助”菜单,下面的“关于”项写入程序信息。
(5)完成一次游戏后,若用户想继续游戏,点击“重新开始”即可;若不想继续,点击“退出”按钮即可关闭程序。
2. 设计思路
本程序采用基本对话框,初始化过程中载入位图,位图资源从系统的纸牌游戏资源Card.dll中获得。点击“发牌”调用OnStart函数,完成随机发牌和计时功能,时间长短根据难度的不同,由变量m_length控制。用户完成输入后,点击“验算”调用OnCalc函数(OnCalc函数调用qiuzhi函数对输入的多项式进行计算),完成对输入的正误判断并给出相应提示,计分栏显示分值,每次得分分值大小由m_PScore变量根据难度设置。若想重新开始,点击“重新开始”,重新执行OnStart函数;若想结束,点击“结束”,调用OnOK函数,即可退出游戏。程序流程图如下:
开始
开始
初始化:难度默认为初级;
初始化:难度默认为初级;LoadBitMap( )加载位图资源;初始化进度条
发牌:
发牌:随机函数Rand产生0~12的随机数,利用SetBitMap( )显示纸牌图案;GetCheckRadioButton获取难度,用m_length控制进度条变化范围,m_Pscore控制分值;SetTimer设置计时器
用户输入
用户输入
YGetPosm_length?
Y
GetPosm_length?
显示“时间到!”N
显示“时间到!”
N
验算
验算:调用OnCalc计算用户输入
Result=24?
Result=24?
N
显示“输入错误!
显示“输入错误!”
Y
显示
显示“你真行!”,同时m_Score增加并显示分数
继续游戏?YY
继续游戏?
Y
Y
N
N
结束:
结束:OnOK
退出
退出
图1 24点游戏程序流程图
3. 软件设计
3.1 设计步骤
1)进入VC++程序后,创建MFC AppWizard(exe)工程,以自己姓名的拼音作为工程名,在应用程序类型中选择基本对话框,完成对话框的创建。
2)在对话框中根据设计要求添加控件,包括按钮,单选按钮,编辑框,进度条,组合框,静态文本和位图。修改其属性,并建立类向导,在相应的地方添加代码。
3)添加菜单,关联到主窗口。
4)对程序进行调试,修改其中的错误,直到实现所要求的各项功能。
3.2 界面设计
表1 界面控件表
控件序号
控件名称
控件类型
属性
对应变量
1
发牌
按钮
IDC_START
2
验算
按钮
IDC_CALC
3
退出
按钮
IDC_OK
4
简单
单选按钮
IDC_Easy
5
中等
单选按钮
IDC_Middle
6
困难
单选按钮
IDC_Hard
7
算式输入框
编辑框
IDC_EDIT1
m_Input
8
得分栏
编辑框
IDC_EDIT2
m_Score
9
耗时标识
进度条
IDC_PROGRESS
10
难度
组框
IDC_STATIC
11
输入算式(以=结束)
静态文本
IDC_STATIC
12
时间进度
静态文本
IDC_STATIC
13
得分
静态文本
IDC_STATIC
14
纸牌1
位图
IDC_Picture1
15
纸牌2
位图
IDC_Picture2
16
纸牌3
位图
IDC_Picture3
17
纸牌4
位图
IDC_Picture4
18
游戏
菜单
19
帮助
菜单
20
发牌
菜单
ID_START
21
验算
菜单
ID_CALC
22
结束
菜单
ID_OK
23
关于
菜单
ID_ABOUT
3.3 关键功能的实现
1)纸牌显示:在BOOL CH
文档评论(0)