MFC课程设计报告-贪吃蛇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MFC课程设计报告
MFC实现贪食蛇小游戏
1.需求分析,系统功能
贪吃蛇游戏需求分析
贪吃蛇游戏作为一款经典小游戏,版本多样,娱乐性也很高,适合在闲暇时放松心神。并且可在多个平台上实现,程序简单易懂,非常适合MFC初学者学习制作。
贪吃蛇游戏功能介绍
一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个方向键控制蛇向上接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。并且可以在游戏开始前自由选择游戏难度,游戏过程中可暂停游戏,并有积分系统,且积分每满一定值,蛇的运行速度会逐步增加。
2. 分工情况
为在设计过程中实现小组成员能力最大化,进行了以下分工:
1、张施展:负责前期系统需求分析,系统结构设计,图标设计,界面美化调整工作,以及
课程设计报告的撰写。
2、张清扬:负责主要程序的编写工作,菜单的设计及代码编写工作。
3、资料收集,程序调试共同进行。
3. 程序及系统结构设计
贪吃蛇程序设计思路
1、方案讨论
贪吃蛇游戏作为一款经典的休闲类小游戏,深受同学喜爱,因此我们将贪吃蛇作为此次MFC课程设计题目。在最初的方案中,我们倾向于单文档(SDI)的形式设计,但最初尝试都因缺少一些文件等情况而失败。考虑到windows中自带小游戏大多采用对话框形式,为能更好的与同学们的使用习惯相一致,最终决定使用对话框(Dialogue)的形式。
2、数据结构
在数据结构的选取,我们选择了链表,链表具有用多少空间就开多少空间的优点,使程序执行更稳定,高效。
游戏控制模块框
函数成员
贪吃蛇程序整体间调用关系
4. 软件测试报告
游戏初始界面
菜单栏
记分牌
操作说明
运动区域游戏运行界面游戏结束界面
出现的问题
1、问题:蛇运动区域与边框不匹配,造成蛇运动出边框或未到达边框而游戏结束。
原因:相关数据不匹配。
解决:重新对程序中的矩形框绘制函数数据进行修改,并修改蛇运动边界的判断条件。
2、问题:食物出现在边框外,造成游戏无法进行。
原因:控制事物出现的随机函数出现问题,随机坐标超出蛇运动区域。
解决:重新计算边界条件,修改随机函数rand()%x中的x值。
3、问题:记分牌有时会出现记分错误。
原因:尚不明确。
参考书籍:
1)C++程序设计实践教程第2版吴乃陵李海文高等教育出版社
2)深入浅出MFC第2版候俊杰华中科技大学出版社
3)Visual C++从入门到实践葛亮清华大学出版社