课程设计:基于mfc的贪吃蛇程序设计

课程设计:基于mfc的贪吃蛇程序设计

ID:18563888

大小:556.00 KB

页数:20页

时间:2018-09-18

课程设计:基于mfc的贪吃蛇程序设计_第1页
课程设计:基于mfc的贪吃蛇程序设计_第2页
课程设计:基于mfc的贪吃蛇程序设计_第3页
课程设计:基于mfc的贪吃蛇程序设计_第4页
课程设计:基于mfc的贪吃蛇程序设计_第5页
资源描述:

《课程设计:基于mfc的贪吃蛇程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《MFC应用程序设计》课程设计报告题  目:学  院:专业:班级:姓  名:学号:指导教师:评阅成绩:二0年月日20目录概述…………………………………………………………………31.设计目的………………………………………………………32.功能描述………………………………………………………33.大体思想………………………………………………………34.程序框图………………………………………………………45.主要知识点……………………………………………………56.重要的MFC……………………………………………………57.数据结构………………………………………………………68.主要函数………………

2、………………………………………79.代码实现………………………………………………………710.运行界面………………………………………………………1811.总结……………………………………………………………1912.参考文献………………………………………………………2020概述此次课程设计我利用MFC制作了一个贪吃蛇游戏,运行程序时窗口会自动最大化,游戏会根据贪吃蛇身体的长度自动增加难度,而且单机右键可以出现坐标。我还添加了bmp格式的图片作为游戏背景。1 设计目的⑴通过实践进一步领会程序设计的特点和应用,提高运用C++以及面向对象知识解决实际问题的能力,初步掌握MFC变成的基本功能。⑵通

3、过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的编程习惯。⑶通过实践掌握用C++编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识;学会利用C++程序设计语言编写出一些短小、可靠的Windows实用程序,切实提高面向对象的程序设计能力,为后续的相关课程的学习打下基础。2 功能描述⑴运行程序,窗口会自动最大化,出现bmp格式图片的背景。⑵点击“游戏->游戏开始”,出现围墙界面,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,游戏开始。⑶游戏开始后,界面右下角会出现游戏规则。⑷游戏开始后,界面右下角会同步游戏

4、得分。⑸通过四个方向键控制蛇的运动方向,吃掉随机出现的豆子,若不小心碰到墙壁或者与自身相交,则该轮游戏结束。⑹点击“游戏->游戏暂停”,暂停游戏。⑺点击“游戏->游戏继续”,继续游戏。⑻游戏会根据蛇身的长度自动调节难易程度。⑼点击“游戏->游戏退出”,退出游戏。⑽在界面中右键单击鼠标可以显示光标的当前坐标。⑾单击帮助->游戏规则查看游戏规则。3 大体思想20⑴定义蛇类和食物类,初始化贪吃蛇各项成员变量,包括图像的出现在屏幕的初始位置,长度,以及蛇的行走方向。食物类的定义包括出现的初始位置,以及食物是否被吃掉的判断。⑵用数组初始化长度为3的贪吃蛇,并且默认食物未出现⑶在CView类上运用M

5、FC提供的Windows消息中WM_TIMER消息,运用OnTimer()函数让系统提供一个时钟节拍,更新游戏⑷具体游戏实现,包括蛇撞到自己和围墙都将使游戏结束,判断吃豆等,其中还包括根据蛇的长度来进行游戏难度的改变。⑸具体键盘游戏操作运用到Windows消息响应中的WM_KEYDOWN,用OnKeyDown()来响应玩家的实际操作。⑹界面会自动最大化⑺而且单击右键可以出现坐标⑻添加了bmp格式的图片作为游戏背景。4 程序框图4.1 整体框架图显示文字,得分增加难度运行程序出现围墙出现蛇、食物出现图片背景开始游戏单击右键显示坐标游戏控制模块退出游戏4.2 游戏控制模块框架图20开始游戏暂

6、停游戏退出游戏继续游戏游戏控制模块5 主要知识点⑴CView类中的消息响应⑵控件的消息响应⑶基于CView类内的具体游戏实现⑷数组⑸游戏图形的实现用CDC类实现⑹SDI界面窗口样式的设计⑺文本的显示6 重要的MFC⑴CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的。该类很大,一开始也不必学,知道就行了。⑵CDocument文档,负责内存数据与磁盘的交

7、互。最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)⑶CView视图,负责内存数据与用户的交互。包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。最重要的是OnDraw(重画窗口),通常用CWnd::Invalidate()来启动它。另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。你自己的许多功能都要加在里面,你打交道最多的就是它。⑷20CDC设

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。