贪吃蛇设计文档.doc

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

贪吃蛇游戏的设计文档

目录

一、需求分析 ................................................. 错误 ! 未定义书签。1.功能需求 . .............................................. 错误 ! 未定义书签。

2.非功能需求

错误 ! 未定义书签。

. ............................................

二、系统设计 ................................................. 错误 ! 未定义书签。

1. 实际思路 . ............................................... 错误 ! 未定义书签。2,结构设计 . .............................................. 错误 ! 未定义书签。

(1), main(), 主函数; . ................................ 错误 ! 未定义书签。

(2), init() , 图形化驱动函数 . ......................... 错误 ! 未定义书签。

(3), help(), 帮助信息函数 . ............................ 错误 ! 未定义书签。

(4), drawfence(), 周围墙壁函数 . ....................... 错误 ! 未定义书签。

(5), printscore(), 得分显示函数 . ...................... 错误 ! 未定义书签。

(6), playgame(), 游戏控制函数 . ........................ 错误 ! 未定义书签。

(7), gameover(), 游戏结束函数 . ........................ 错误 ! 未定义书签。

(8), closegraph(), 关闭图形驱动函数 ................... 错误 ! 未定义书签。

三、系统实现 ................................................. 错误 ! 未定义书签。

1, help() 函数流程图 . ...................................... 错误 ! 未定义书签。

2, drawfence() 函数流程图 . ................................. 错误 ! 未定义书签。

3, printscore() 函数流程图 . ................................ 错误 ! 未定义书签。

4, playgame() 函数流程图 . .................................. 错误 ! 未定义书签。

5, gameover() ,游戏结束函数 . .............................. 错误 ! 未定义书签。

四、系统测试 ................................................. 错误 ! 未定义书签。

1,功能测试. .............................................. 错误 ! 未定义书签。2,性能测试. .............................................. 错误 ! 未定义书签。3,测试结果. .............................................. 错误 ! 未定义书签。

一、需求分析

1.功能需求

贪吃蛇游戏的游戏规则是:游戏开始时,在一个密闭的空间里,贪吃蛇可以通过方向键进行方向的变化。屏幕上随机的出现食物,贪吃蛇在运动的过程中蛇头可以吃掉出现的的食物。吃掉食物后,蛇的身体会增长一节。当蛇的身体碰到四周的墙壁或者是自己的身体时,游戏会结束!并且,在屏幕的上方有一个分数牌显示,游戏开始时分数为 0,每当蛇吃掉一个食物,分数会增加 10 分。而在游戏的过程中,玩家可以按“ ESC”按键随时退出游戏。

2.非功能需求

(1)界面友好,图形界面,游戏开始前有游戏的简单使用说明,方便玩家

使用;

(2)具有较好的容错能力,玩家在游戏过程中,除了规定的按键外,其他

按键均忽略,不予处理;

(3)发布游戏时,将图形驱动加载到程序中,使系统具有良好的可扩展性

和平台适应性,可在任何PC机上运行。

二、系统设计

1.实际思路

(1),贪吃蛇游戏的设计,第一步想到的当然是画出贪吃蛇,从而可以想到

定义一个“蛇”的结构体的类型,这个结构体中包括:蛇的坐标,蛇的长度,蛇

运动的方向;蛇的生命。而蛇的运动可以通过两种结构来实现:数组和链表,我

使用了简单但不简洁的数组来实现。蛇的运动方向可以通过选择结构来实现控制蛇的运动方向。

(2),蛇已经构造出来了,第二步要构造的当然是蛇要吃的食物了。和构造蛇一样,我们同样可以通过一个结构体来构造食物。这个食物的结构体中包括:食物的坐标和食物是否生成。而食物的出现又是随机的,所以我们可以通过调用随机生成函数来实现这一功能。

(3),蛇和食物有了,就要设计蛇运动的区域了,我们可以同过调用图形

化的函数,运用循环来实现游戏墙壁的设计。

(4),而游戏最重要的部分就是:怎样驱动蛇的运动?我们首先可通过

!k bhit ()函数,来接收是否有键盘输入蛇运动的方向。在没有键盘输入

的情况下,蛇的运动就要通过将画蛇的数组不停地进行交换来实现的。蛇在吃完了食物之后身体的增加是通过增加数组的长度来实现的。

(5)最后要实现的就是在玩游戏过程中的分数的增加。这也是运用了图形

化函数来实现他的显示,同时通过一个分支结构来控制游戏的每个阶段的不同

的分数的增加。

2,结构设计

“贪吃蛇”游戏的核心的部分是游戏的控制部分,也就是我们在玩游戏时,

不断地通过改变蛇头的反向来吞噬食物的过程。并且,在游戏的过程中还要显示玩家的得分。为了实现这些功能,就需要各个小模块的功能支持。

具体的各个功能模块如下:图形驱动;显示帮助信息;画周围的墙壁;显示

分数;控制游戏;;结束游戏;关闭游戏图形驱动。

( 1), main(),主函数;

在 mian()函数之前我们已经对要用到的各个数据进行了宏定义。包括:蛇

相关文档
最新文档