java24点课程设计报告_24点课程设计报告书.doc

目录

1. 基本功能描述1

2. 设计思路1

3. 软件设计3

3.1 设计步骤3

3.2 界面设计5

3.3 关键功能的实现6

3.3.1 随机发牌功能的实现6

3.3.2 计时功能的实现6

3.3.3 得分功能的实现7

3.3.4 计算功能的实现7

3.3.5 界面底色选择功能的实现8

4. 结论与心得体会9

5. 参考文献9

6. 思考题10

7. 附录10

7.1 调试报告10

7.1.1 未定义造成错误10

7.1.2 控件类型错误11

7.1.3 关键性语句丢失造成错误12

7.2 测试结果13

7.2.1 在规定时间内完成点击“验算”按钮操作13

7.2.2 在规定时间内未完成点击“验算”按钮操作15

7.3 关键源代码16

24点游戏课程设计报告

1. 基本功能描述

24点游戏是一个传统的算术游戏,其游戏之精髓就是考验人脑的反应能力和逻辑运算能力。所谓24点游戏,就是通过加,减,乘,除4则运算,将给定的4个整数算出24。在此次课程设计中我用VC++做出的24点小游戏具有以下基本功能。

⑴ 每次游戏开始之前可以进行难度选择,确定难度后点击“开始”按钮,桌面上会显示4张翻开的扑克牌,同时标识耗时的进度条开始前进,计时开始。

⑵ 在规定的时间内,用户可以在相应的编辑框内输入自认为正确的运算式,并点击“验算”按钮。如果输入的数字与给出的不符或者符号不合法,会弹出“Sorry,the character inputed is illegal!”;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,就会出现“The result is: !”;如果输入算式经运算后所得答案正确,则会弹出“Excellent! Please cotinue!”,在点击对话框上的确定按钮后,会显示用户本局游戏所用时间和相应得分。

⑶ 如果已超过规定的思考时间,而用户仍然没有点击“验算”按钮,则会弹出“Time Over!”。

⑷ 在结束一局游戏后,如果用户希望继续进行的话,可以点击“重新开始”按钮(“开始”按钮在第一次被点击后变为“重新开始”按钮);如果用户希望结束游戏的话,则点击“退出”按钮。

⑸ 另设一项辅助功能选项,即可对24点游戏界面的背景颜色进行设置,以更适应用户的外观感觉。

2. 设计思路

考虑到24点游戏的广大适应性,我在游戏中引入了难度选择这一功能,即在开始游戏前参与者可以根据自身情况选择不同级别的游戏。通过对每局游戏时间长短的控制我共安排了“初级”、“中级”、“困难”三个级别,相应的时间长度为100秒、75秒、60秒。

在游戏开始后,通过调用srand()和rand()函数,桌面上会随机显示出4张纸牌,同时,标识耗时的进度条开始前进(m_Progress1->SetPos(m_Progress1->GetPos()+1),计时同步开始(SpendTime++)。

在规定的时间内,用户可以在相应的编辑框内输入自认为正确的运算式,系统通过对SubCompute()和TotalCompute()两函数的调用进行相应运算,在紧接着点击“验算”按钮后,系统调用OnYanSuan()函数对编辑框中运算出的结果进行验算,根据验算情况给出相应的结果。

此过程中,由于既涉及到纸牌点数和运算符,又会涉及到运算式结果,于是相应地会显示出三种结果,分别是:如果输入的数字与给出的不符或者符号不合法,会弹出“Sorry,the character inputed is illegal!”;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,就会出现“The result is: !”;如果输入算式经运算后所得答案正确,则会弹出“Excellent! Please cotinue!”。答案正确的情况下,在点击显示答案正确的对话框后,系统会给出此局游戏得分,游戏得分是在综合考虑游戏级别、游戏所耗费时间的基础上给出(m_score=

100*(m_Hardlevel-SpendTime)/m_Hardlevel)。

如果用户在规定的时间内未完成点击“验算”按钮的操作(m_Progress1->GetPos()>=

m_Hardlevel),系统在OnTimer()函数的作用下,会弹出显示“Time Over!”的对话框。

在一局游戏结束之后,如用户想继续游戏可以选择重新开始,如果用户希望结束游戏则可以点击“退出”按钮,系统调用OnOk()函数退出游戏。

游戏程序流程图具体如图1所示。

3. 软件设计

3.1 设计步骤

24点游戏设计步骤如下所述。

⑴ 创建MFC AppWizard(exe)工程,键入对应的工程名(daichengxiong),在应用程序类型中选择基本对话框,其余的都采用默认选项,完成对话

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值