c++课程设计:贪吃蛇小游戏1

c++课程设计:贪吃蛇小游戏1

ID:33116918

大小:190.00 KB

页数:7页

时间:2019-02-20

c++课程设计:贪吃蛇小游戏1_第1页
c++课程设计:贪吃蛇小游戏1_第2页
c++课程设计:贪吃蛇小游戏1_第3页
c++课程设计:贪吃蛇小游戏1_第4页
c++课程设计:贪吃蛇小游戏1_第5页
资源描述:

《c++课程设计:贪吃蛇小游戏1》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告课程名称:面向对象程序设计C++设计题目:贪吃蛇小游戏专业:计算机科学与技术姓名:学号:指导教师:李晓虹2015年12月10日一、系统需求分析1.1选题本学期,根据老师所出的几个课程设计内容范围进行选题,进行综合分析之后,我决定选择贪吃蛇这个小游戏来进行编译。目的是希望能够通过简单并且经典的这个小游戏来达到最终了解复杂的MFC类的使用。1.2功能使用MFC进行编译,能够实现贪吃蛇游戏最基本的功能。能够使用键盘上的上下左右的光标键来操作游戏的进程。并且能够针对游戏的进行进行计时计分功能的实现。二、总体设计2.1需求规定本

2、程序主要是一个交互式的游戏程序,通过玩家的键盘上下左右键控制贪吃蛇的运动方向。程序会根据您按下的键来判断贪吃蛇的走向。2.2设计构思这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有清

3、屏的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画圆形和覆盖圆形。三、详细设计3.1系统流程用流程图示出程序的主要控制流程和处理流程;游戏载入内存并初始化界面判断游戏是否开始单击工具栏按钮【玩】或者【游戏】—>【开始】开始游戏没有开始游戏,就返回初始界面贪吃蛇开始移动(初始方向向左)根据键盘消息判断蛇头的运动方向根据蛇头的坐标和食物的坐标判断蛇是否已经得到食物如果已经得到食物,则蛇的身体加长,积分器加一如果没有得到食物,则蛇的身体不变,积分器不变根据蛇头的

4、坐标、蛇身体的坐标和墙壁的坐标判断蛇是否已经撞墙或者自己咬到自己如果没有撞墙并且没有自己咬到自己则程序继续进行如果已经撞墙或者自己咬到自己则程序终止贪吃蛇程序结束计时器开始计时积分器开始计分3.2数据结构动态数组CArraym_aBody;//保存蛇身点类CPointm_pAim;//保存一个食物目标的坐标3.3重要函数:voidCSnakeView::IniAim()//随机函数生成食物的X和Y坐标voidCSnakeView::IniGame()//改函数对游戏初始化定义游戏的初始状态voidCS

5、nakeView::ReDisplay(CPointpPoint)//刷新游戏区域中pPoint处的一个小方格voidCSnakeView::OnKeyDown(UINTnChar,UINTnRepCnt,UINTnFlags)//判断键盘按钮事件CView::OnTimer(nIDEvent);//计时器函数来重画屏幕四、系统调试Menu界面调试:调试FileView里,各个文件代码:五、结果分析5.1运行界面进入运行界面之后,界面的左边是小游戏,右边是对贪吃蛇游戏的一个简单的说明讲解以及注意事项。5.2游戏开始点击菜单栏上的【

6、游戏】--【开始】按钮或者是【玩】按钮,即可开始游戏5.3游戏进行界面游戏进行时,右边的计时计分页面将会同时进行。吃掉一个小方块,得分增加1,时间按秒递增。5.4程序结束界面当贪吃蛇撞到墙,或者进行了非法操作的时候,游戏结束,会弹出提示信息“呜呜呜,贪吃蛇挂掉了”。六、总结通过此次编程这个小游戏,不仅让我学到了对MFC类的用法,更加让我从中学会了更多的C++知识,再一次复习巩固了C++面向对象的编程思想,对类,对象,继承,派生等有了更深的理解的实际操作。由于上学期我们运用过MFC编写简单的小程序,因此有了一定的基础,在此基础上,再

7、结合自己所学习的C++面向对象的方法,然后逐步发现问题,解决问题,最终做出这个小游戏。通过这个游戏,其实能够发现,面向对象的思想和方法在我们的生活中,无处不在,因此,日后更是要加强对C++面向对象的应用。

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

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

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