下载此文档

c语言课程设计报告——贪吃蛇源程序.doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
-
. z.
C 语 言 课 程 设 计
〔小游戏贪吃蛇的程序设计报告〕
设计人:
戏界面后,左边有一个矩形区,外游戏区域,在矩形区中有食物和贪食蛇,上方有统计分数及关数显示区域。
蛇在封闭围墙利用绿色矩形表示,围墙里随机的出现一个食物,通过按键盘四个光标键控制蛇向上,下,左右四个方向移动,蛇头撞到食物,则食物被吃掉,蛇身体长一节,接着又出现食物,等待蛇来吃。食物用一个点表示,并且每次食物的位置都是随机出现的。游戏中要使贪吃蛇尽可能的长,但是不能使贪吃蛇撞到四周的墙壁,而且蛇的身体不能撞到一起,否则游戏完毕。游戏中每吃掉一个食物要有积分,随着分数的增加可进入下一关,即使速度会加快。游戏完毕时,如果分数进入前5名则重新排榜并存储。显示排行榜。由于有关贪吃蛇和食物的数据较多,而且关系密切,贪吃蛇及食物都是定义构造体数据类型,这样定义便于操作与处理。
操作方法




三 总体设计
确定贪吃蛇游戏体系构造,给出总体模块构造图,确定程序的主要函数及之间的调用关系,同时设计蛇与游戏者等的数据构造。
模块划分
本程序采用构造化程序设计的方法,按照自顶向下,逐步细化的方法对要解决的问题进展逐层分解。首先画出顶层模块,即主控模块,之完成对下层模块的调用功能,即调用其他的功能模块;接着,按需求分析中的功能需求设计第一层模块,有音乐动画,图形驱动,画主界面,游戏过程,完毕处理,退出等第6个主要功能;接着,画出第二层模块。总体模块构造如图6-1所示。
-
. z.
主 控 模 板
退 出
完毕处理
游戏过程
画主界面
图形驱动
动画音乐
排 行榜
写入文件
成绩排序
读取记录
. 主控模块。
. 动画音乐模块
. 画主界面模块
. 游戏过程模块
. 游戏完毕处理模块
. 读取记录模块
. 成绩排序模块
. 写入文件模块
. 排行榜模块
. 退出
总体数据构造设计
设计思路:测序的关键在于表示蛇的图形及蛇的移动。用一个小局限性方块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头业用同样的一节小矩形方块表示移动时必须从蛇可以上向前爬行,档案下有效方向键后,应先确定蛇头的位置,而后蛇的身体虽蛇头移动,图形的实现是从身体新位置开场画出蛇。这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一节蛇身,即看起来蛇多一节身体,所以将蛇的最后一节用背风光覆盖。食物的出现与消失意识画矩形块和覆盖矩形块。为了便于理解,定义两个构造体:食物与蛇。下面介绍贪吃蛇游戏程序的主要数据构造。
食物与蛇的数据构造
表示食物与蛇的矩形块设计为10*10个像素单位,食物的根本数据域为它所出现的位置,用*和Y坐标表示,则矩形块用函数RECTANGLE〔*,Y,*+10,Y+10〕或RECTANGLE〔*,Y,*+10,Y-10〕可以画出。由于每次只出现一个食物,所以设定YES表示是否需要出现食物。YES=1表示没有食物或食物已经被蛇吃掉,需要画出食物。放置食物后,置YES=0。蛇的一节身体为一个矩形块,表示矩形块只需左上角点坐标〔*,Y〕。由于在游戏过程中蛇的身体不断增长,需用数组存放每节坐标,最大设定为N=200,NODE表示当前节数。DIRECTION是保存蛇的移动方向的变量,其值可为1、2、3、4之一,分别表示右、左、上、下的方向。LIFE是表示生命的变量,LIFE=0表示蛇活着,一旦LIFE=1,一旦LIFE=1,表示蛇死,完毕游戏。
*define N 200
Struct Food
{ int *;
int y;
Int yes;
}food;
Struct Snake
{ int *[N];
Int y[N];
Int node;
Int derection;
-
. z.
Int life;
}snake;
排行榜中优胜者的数据构造

c语言课程设计报告——贪吃蛇源程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2286107238
  • 文件大小436 KB
  • 时间2022-03-02
最近更新