C语言课程设计报告——贪吃蛇源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言
【1】课程设计(小游戏贪吃蛇的程序设计报告)
设计人:
班级:
201年月号
目录
一:概述
1:研究背景及意义
2:设计的任务与需要知识点3:具体完成设计内容
二:需求分析
1:功能需求
2:操作方法
三:总体设计
1:模块划分
2:数据结构设计
四:详细设计
1:主空摸块设计
2:绘制游戏界面
3:游戏的具体过程
4:游戏的结束处理
5:显示排行榜信息模块五:程序的调试与测试1:动画与音乐同步
2:蛇的运行
3:终止程序
六:结论
七::结束语
八:程序清单
九:参考文献
一.概述
本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo
C++3.0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。
1.1 研究的背景及意义
随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的和那个发,技术和工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法和步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习和将来实际软件开发打下坚实的基础。
1.2 设计的任务和需要的知识点
1.2.1 课程设计主要完成的任务
1).
通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。
2) 有同步播放动画,声音效果。
3) 设计好数组元素与蛇,食物的对应关系。
4) 随机产生食物。
5) 有分数统计,排行榜,分数存储等功能。
通过此次课程设计,希望使读者能更深入的理解和掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题和解决问题的能力。
1.2.2需要掌握和运用的知识点
1.2.3本次课程设计需要掌握和运用如下的知识点:
1) 数组的应用。
2) 全局变量的使用。
3) 按键处理。
4)结构体的应用。
5)图形,音乐和动画的有关知识。
6)随即函数的使用。
7)文件的基本出操作。
8) 结构化,模块化的设计方法。
1.3具体完成的设计内容
在本次课程设计中需要完成的任务有:包含命令,全局变量的定义和宏定义,函数声明等(50行),主控模块(MAIN函数,14行),动画,音乐播放模块(DRAWSNOW函数,3 3行),画出游戏开始界面模块,具体游戏过程模块,游戏结束处理模块。开发中工作量约为215行源代码。
二 .需求分析
贪吃蛇游戏是个简单的小游戏,能让游戏者的身心得到娱乐,从而能够更好地投入到学习或工作当中。虽然现在市面上出来这各种各样的游戏版本,可是贪吃蛇这类的小游戏其市
场还是相当大的,因为它玩法简单易行,不论是手机,还是小游戏机,都能很顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求。
2.1功能的需求
要开发贪吃蛇游戏程序,首先要分析改程序应实现哪些功能。对贪吃蛇游戏程序的功能需求可描述如下:
程序运行后显示动画,音乐,按ESC 键退出游戏界面后,左边有一个矩形区,外游戏区域,在矩形区中有食物和贪食蛇,上方有统计分数及关数显示区域。
蛇在封闭围墙利用绿色矩形表示,围墙里随机的出现一个食物,通过按键盘四个光标键控制蛇向上,下,左右四个方向移动,蛇头撞到食物,则食物被吃掉,蛇身体长一节,接着又出现食物,等待蛇来吃。食物用一个点表示,并且每次食物的位置都是随机出现的。游戏中要使贪吃蛇尽可能的长,但是不能使贪吃蛇撞到四周的墙壁,而且蛇的身体不能撞到一起,否则游戏结束。游戏中每吃掉一个食物要有积分,随着分数的增加可进入下一关,即使速度会加快。游戏结束时,如果分数进入前5名则重新排榜并存储。显示排行榜。由于有关贪吃蛇和食物的数据较多,而且关系密切,贪吃蛇及食物都是定义结构体数据类型,这样定义便于操作与处理。
2.2 操作方法
2.2.1.进入游戏 2.2.2.游戏界面 2.2.
3.游戏操作 2.2.
4.游戏结束
三 总体设计
确定贪吃蛇游戏体系结构,给出总体模块结构图,确定程序的主要函数及之间的调用关系,同时设计蛇与游戏者等的数据结构。
3.1 模块划分
本程序采用结构化程序设计的方法,按照自顶向下,逐步细化的方法对要解决的问题进行逐层分解。首先画出顶层模块,即主控模块,之完成对下层模块的调用功能,即调用其他的功能模块;接着,按需求分析中的功能需求设计第一层模块,有音乐动画,图形驱动,画主界面,游戏过程,结束处理,退出等第6个主要功能;接着,画出第二层模块。总体模块结构如图6-1所示。
3.1.1. 主控模块。 3.1.2. 动画音乐模块 3.1.3. 画主界面模块 3.1.
4. 游戏过程模块 3.1.
5. 游戏结束处理模块 3.1.
6. 读取记录模块 3.1.
7. 成绩排序模块 3.1.
8. 写入文件模块 3.1.
9. 排行榜模块 3.1.10. 退出
3.2 总体数据结构设计
主 控 模 板 读取记录成绩排序
写入文件
排
行榜
动画音乐
图形驱动
退
出
结束处理 游戏过程
画主界面