贪吃蛇设计文档.dos[整理]

上传人:粗**** 文档编号:140297367 上传时间:2020-07-28 格式:PDF 页数:14 大小:984.77KB
返回 下载 相关 举报
贪吃蛇设计文档.dos[整理]_第1页
第1页 / 共14页
贪吃蛇设计文档.dos[整理]_第2页
第2页 / 共14页
贪吃蛇设计文档.dos[整理]_第3页
第3页 / 共14页
贪吃蛇设计文档.dos[整理]_第4页
第4页 / 共14页
贪吃蛇设计文档.dos[整理]_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《贪吃蛇设计文档.dos[整理]》由会员分享,可在线阅读,更多相关《贪吃蛇设计文档.dos[整理](14页珍藏版)》请在金锄头文库上搜索。

1、贪吃蛇游戏的设计文档 目录 一、需求分析 .- 2 - 1功能需求 .- 2 - 2非功能需求.- 2 - 二、系统设计 .- 2 - 1.实际思路 .- 2 - 2,结构设计 .- 3 - (1) ,main(),主函数; .- 3 - (2) ,init() , 图形化驱动函数 .- 4 - (3) ,help(),帮助信息函数 .- 4 - (4) ,drawfence(), 周围墙壁函数 .- 4 - (5) ,printscore(), 得分显示函数.- 5 - (6) ,playgame(),游戏控制函数.- 5 - (7) ,gameover(),游戏结束函数 .- 6 - (8

2、) ,closegraph(),关闭图形驱动函数.- 7 - 三、系统实现 .- 7 - 1,help()函数流程图 .- 7 - 2,drawfence() 函数流程图 .- 8 - 3,printscore() 函数流程图 .- 8 - 4,playgame()函数流程图 .- 9 - 5,gameover(),游戏结束函数 . - 13 - 四、系统测试 . - 13 - 1,功能测试 . - 13 - 2,性能测试 . - 14 - 3,测试结果 . - 14 - 一、需求分析 1功能需求 贪吃蛇游戏的游戏规则是:游戏开始时,在一个密闭的空间里,贪吃蛇可以 通过方向键进行方向的变化。

3、屏幕上随机的出现食物, 贪吃蛇在运动的过程中蛇 头可以吃掉出现的的食物。 吃掉食物后, 蛇的身体会增长一节。 当蛇的身体碰到 四周的墙壁或者是自己的身体时,游戏会结束! 并且,在屏幕的上方有一个分数 牌显示,游戏开始时分数为0,每当蛇吃掉一个食物,分数会增加10 分。而在 游戏的过程中,玩家可以按“ESC ”按键随时退出游戏。 2非功能需求 (1)界面友好,图形界面,游戏开始前有游戏的简单使用说明,方便玩家 使用; (2)具有较好的容错能力,玩家在游戏过程中,除了规定的按键外,其他 按键均忽略,不予处理; (3)发布游戏时,将图形驱动加载到程序中,使系统具有良好的可扩展性 和平台适应性,可在任

4、何PC机上运行。 二、系统设计 1.实际思路 (1) ,贪吃蛇游戏的设计,第一步想到的当然是画出贪吃蛇,从而可以想到 定义一个“蛇”的结构体的类型,这个结构体中包括:蛇的坐标,蛇的长度,蛇 运动的方向;蛇的生命。而蛇的运动可以通过两种结构来实现:数组和链表,我 使用了简单但不简洁的数组来实现。 蛇的运动方向可以通过选择结构来实现控制 蛇的运动方向。 (2) ,蛇已经构造出来了,第二步要构造的当然是蛇要吃的食物了。和构 造蛇一样,我们同样可以通过一个结构体来构造食物。这个食物的结构体中包括: 食物的坐标和食物是否生成。 而食物的出现又是随机的, 所以我们可以通过调用 随机生成函数来实现这一功能。

5、 (3) ,蛇和食物有了,就要设计蛇运动的区域了,我们可以同过调用图形化 的函数,运用循环来实现游戏墙壁的设计。 (4) ,而游戏最重要的部分就是:怎样驱动蛇的运动?我们首先可通过 !kbhit ()函数,来接收是否有键盘输入蛇运动的方向。在没有键盘输入 的情况下,蛇的运动就要通过将画蛇的数组不停地进行交换来实现的。蛇在吃完 了食物之后身体的增加是通过增加数组的长度来实现的。 (5)最后要实现的就是在玩游戏过程中的分数的增加。这也是运用了图形 化函数来实现他的显示, 同时通过一个分支结构来控制游戏的每个阶段的不同的 分数的增加。 2,结构设计 “贪吃蛇”游戏的核心的部分是游戏的控制部分,也就是

6、我们在玩游戏时, 不断地通过改变蛇头的反向来吞噬食物的过程。并且,在游戏的过程中还要显示 玩家的得分。为了实现这些功能,就需要各个小模块的功能支持。 具体的各个功能模块如下:图形驱动;显示帮助信息;画周围的墙壁;显示 分数;控制游戏;结束游戏;关闭游戏图形驱动。 (1) ,main(),主函数; 在 mian()函数之前我们已经对要用到的各个数据进行了宏定义。包括:蛇 的最大节数;方向键;循环变量;接收按键值的变量;分数;还有蛇的速度。 而在 main ()函数中我们只需要调用几个要使用的自定义的函数即可。包括: 图形驱动函数: init () ;显示帮助函数: help() ;开始的画面:

7、drawfence() ; 玩游戏函数 playgame() ;图形结束函数: closegame() 。 (2) ,init() , 图形化驱动函数 由于贪吃蛇游戏采用的图形化界面。在屏幕作图之前吗,必须根据显示器 适配器的种类将显示器设置成为某种图形模式,在未设置时,默认的屏幕为文本 模式,此时,图形化函数均不能工作。 所以要用到图形初始化函数initgraph() 和清除图形屏幕函数cleardevice() 。 其中, initgraph()函数的初始化是 : void far initgraph(int far *gdriver,int far *gmode,char *path);

8、 其中第一个参数是图形驱动器;第二个参数是模式变量;第三个变量是图形 驱动程序所在的目录里路径。 (3) ,help(),帮助信息函数 游戏开始之后,首先要显示玩贪吃蛇的相关帮助信息,包括:游戏名称;游 戏的控制键;退出键;以及游戏的相关的介绍,然后按任意键开始游戏。 由于已经将界面初始化为图形模式,所以输出要用到图形文本的输出,而 图形文本的显示主要涉及三个函数: 1)作图颜色设置函数setcolor() ; 函数原型是: void far setcolor(int color);参数 color是颜色的代表值。 2)字形设置函数 settextstyle() ; 函数原型是: void far settextstyle(int font,int direction,int charsize); 其中参数 font 是用来设置输出文本的字形;direction用来设置文本的方向; charsize是用来设置文本的大

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号