贪吃蛇设计说明书

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

贪吃蛇

设计说明书

开发小组成员:

目录

1.需求陈述 (3)

2.软件结构 (3)

2.1用例图 (3)

2.2类图 (4)

2.3状态图---------------------------------------------------------------4 3.程序描述 (4)

3.1功能 (5)

3.2性能 (5)

3.3输入项目 (5)

3.4输出项目 (6)

3.5算法 (6)

3.6程序逻辑 (6)

4.测试要点-----------------------------------------7

5.对象设计-------------------------------------------------------------------7

1.需求陈述

1.用户需要开发一款命名为贪吃蛇的休闲小游戏

2.开始游戏时,存在一条向右运动的小蛇和蛇需要吃掉的豆

3.用户通过键盘的“上下左右”键控制小蛇分别向“上下左右”运动来吃

掉豆,同时增加自身的长度

4.小蛇吃掉游戏规定数量的豆后,游戏结束

5.游戏分为初级、中级、高级

6.小蛇不能碰到边界

7.小蛇自身不能碰撞

8.游戏可以暂停和重新开始

9.游戏完成后计算所得分数

10.游戏在任何时候都可以退出

2.软件结构

1.用例图

2.类图

3.状态图

3.程序描述

3.1功能

小蛇可以通过方向键进行方向的变化。屏幕上随机的出现豆,贪吃蛇在运动的过程中蛇头可以吃掉出现的的豆。吃掉豆后,蛇的身体会增长一

节。当蛇的身体碰到四周的墙壁或者是自己的身体时,游戏会结束。并且,在屏幕的上方有一个分数牌显示,游戏开始时分数为0,每当蛇吃掉一个豆,分数会增加10分。而在游戏的过程中,玩家可以按菜单上的退出键或点击界面的关闭按钮退出游戏。

3.2性能

本款游戏在界面设计上清晰明了、美观大方;在操作上简单、易懂。有效率高,不易出错的优点。

本游戏着重于娱乐大众,并且有锻炼反应速度的特点。

3.3输入项目

1)用户在界面菜单的操作有点击“开始”、“暂停”、“结束”、“重新

开始”、“初级”、“中级”、“高级”。

2)键盘输入有“上下左右”键。

3.4输出项目

输出有:分数,小蛇长度增加,豆

3.5算法

1.小蛇根据键盘输入触发相应事件:

private void Form1_KeyDown(object sender, KeyEventArgs e)

{

int k;

k = e.KeyValue;

if (k == 37) //左

floor.S.TurnDirection(3);

else if (k == 40) //下

floor.S.TurnDirection(2);

else if (k == 38) //上

floor.S.TurnDirection(0);

else if (k == 39) //右

floor.S.TurnDirection(1);

else if (k == 103 || k == 71)//按下G(g)

timer1.Enabled = false; //小蛇停止运动

else if (k == 72 || k == 104) //按下H(h)

timer1.Enabled = true; //小蛇继续运动

}

2. 键盘输入作为值传递给相应函数,来控制小蛇运动方向:

public void TurnDirection(int pDirection) //蛇的转向方法,参数为蛇要改变方向 {

switch (direction)

{

case 0: //原来向上

if (pDirection == 3) //如果改变方向为左

direction = 3;

else if (pDirection == 1) //如果改变方向为右

direction = 1;

break;

case 1:

if (pDirection == 2)

direction = 2;

else if (pDirection == 0) direction = 0;

break;

case 2:

if (pDirection == 3)

direction = 3;

else if (pDirection == 1) direction = 1;

break;

case 3:

if (pDirection == 2)

direction = 2;

else if (pDirection == 0) direction = 0;

break;

}

}

3.6程序逻辑

4.测试要点

1)看游戏是否能正常运行

2)游戏开始后,按除过“上下左右”键的其他键,会出现什么情况3)小蛇超出界面时,是否会结束游戏

4)按“上下左右”键是否会按设想运行

5)对最小化,最大化、变小和关闭按钮进行逐个测试

5.对象设计

1、类:蛇

对象:每一个长度不断更新的蛇

相关文档
最新文档