- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吹泡泡程序报告
吹泡泡程序
目录
1.绪论 1
2. 系统分析 1
2.1 功能需求 1
2.2数据需求 1
3. 总体设计 2
3.1功能模块设计 2
3.2系统设计方案 2
4. 详细设计 2
4.1鼠标控制模块 2
4.2泡泡计数模块 3
4.3泡泡移动要求模块 3
4.4泡泡显示区域模块 4
5. 调试与测试 5
5.1 调试 5
5.2 测试 5
结束语 5
参考文献 6
附录-用户手册 7
1.绪论
做这个程序主要是回忆小时候玩的游戏并通过这个游戏来检测自己学习VC的成果,这个程序是当用户在窗口客户区中单机鼠标左键时,即可产生一个泡泡。既要产生不同颜色的大小随机的泡泡,有要能使这些泡泡升起或降落,最后消失。本程序在为了防止刷新超出举行边框,编写了自定义的成员函数MyInvalidateRect,其内部重新计算了刷新区域,保证了刷新仅在举行框内。为了减少扫描数组的次数,在鼠标单击后并没有立即把新泡泡加进数组中,而是暂时存放在一个临时的变量中。在定时器处理函数中,当找到一个空位置的时候,查看是否有待加泡泡,要是有,则将临时变量中的内容拷贝到数组中并刷新显示。
2. 系统分析
2.1 功能需求
(1)可以统计泡泡的总数。
(2)在主界面上显示红蓝俩种颜色的泡泡并分上升和下降。
(3)泡泡在飘落的过程中会慢慢变大并显示框可以容纳多个泡泡,碰到边框会消失。
2.2数据需求
主要用的知识点有:定时器消息,鼠标消息和数组的操作。
数据包括:
1泡泡的颜色
2主界面的大小
3统计泡泡的个数
4鼠标控制泡泡的运动的状态
3. 总体设计
3.1功能模块设计
图1功能模块图
3.2系统设计方案
(1)在屏幕上画一个矩形框,开始为空白。
(2)当鼠标左键单击举行框内的任何位置时,在该位置产生1个随机大小的红色泡泡,并开始下降。
(3)当鼠标右键单击举行框内的任何位置时,在该位置产生1个随机大小的蓝色泡泡,并开始上升。
(4)上升或下降到矩形框边界时,泡泡自行消失。
(5)矩形框右边显示当前矩形框中红色/蓝色泡泡的正确数目。
(6)矩形框内应可同时容纳多个泡泡。
(7)各个泡泡在移动飘落过程中还会逐渐变大。
4. 详细设计
4.1鼠标控制模块
鼠标控制模块主要是用鼠标来控制泡泡的颜色和状态,具体实现程序流程如图2所示。
图2 鼠标控制模块流程图
4.2泡泡计数模块
泡泡计数模块主要是用定时器消息来分别统计上升和下降泡泡的个数,具体实现程序流程如图3所示。
图3 泡泡计数模块流程图
4.3泡泡移动要求模块
泡泡移动要求模块主要是用一定条件来控制泡泡的移动的速度和范围,具体实现程序流程如图4所示。
图4 泡泡移动要求模块流程图
4.4泡泡显示区域模块
泡泡显示区域模块主要是用成员函数来画主界面和控制泡泡生成在主界面内,具体实现程序流程如图5所示。
图5 泡泡显示区域模块流程图
5. 调试与测试
5.1 调试
本次试验主要的问题有:1有一个成员函数建立的时候建立错形式,后来经老师指点,将那建立错的成员函数改正过来后就没有在提示有错误了;2在显示颜色的程序段我少打一段程序,虽然编译没有错误,但是运行后下降的泡泡无法显示颜色,在加完程序段后就可以正常运行并显示出预计的结果。
5.2 测试
1鼠标控制模块
用鼠标的右左键来实现控制泡泡的上升和下降还有泡泡的颜色,在编译的过程中由于少打一段程序导致无法显示下降泡泡的颜色,在缺少的地方加上以后下降的泡泡的颜色就可以显示出来。
2泡泡计数模块
用定时器消息来实现对泡泡的计数功能并将下降泡泡与上升泡泡分开计数,由于建立函数的方法错误导致程序出现错误后来改正后在主界面就显示出所要的结果。
3泡泡移动要求模块
用一定的条件来控制泡泡的移动范围,在编译的过程中没有出现错误。
4泡泡显示区域模块
用一个成员函数来控制泡泡出现的区域就在主界面内,用另一个成员函数来画出泡泡显示要的区域,在编译的过程中没有出现错误。
结束语
用函数OnLButtonDown和OnRButtonDown来实现鼠标右左键来控制泡泡是上升还是下降,用函数MyInvalidateRect来控制泡泡随机生成所要的区域内,随机数生成函数OnDraw()的应用在吹泡泡程序中是一个关键步骤,能保证程序的持续进行和更新并在这个函数中画出泡泡所出现的区域,其实不止是吹泡泡程序,在大多数需要随机生成元素的游戏中,都可以用OnDraw()函数生成随机数,再控制坐标等变量实现“随机生成”功能。
通过这次试验了解到小游戏的最基本形式——ontimer()。它是函数控制游戏运行的根本函数,借助这一函数,能实现贪吃蛇、俄罗斯方块、赛车等多个游戏的开发。通过这次大作业,使我更加了解了VC在对话框的工程方面有了更
文档评论(0)