贪吃蛇小游戏需求分析Word格式文档下载.docx

上传人:b****2 文档编号:13920202 上传时间:2022-10-15 格式:DOCX 页数:12 大小:163.17KB
下载 相关 举报
贪吃蛇小游戏需求分析Word格式文档下载.docx_第1页
第1页 / 共12页
贪吃蛇小游戏需求分析Word格式文档下载.docx_第2页
第2页 / 共12页
贪吃蛇小游戏需求分析Word格式文档下载.docx_第3页
第3页 / 共12页
贪吃蛇小游戏需求分析Word格式文档下载.docx_第4页
第4页 / 共12页
贪吃蛇小游戏需求分析Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

贪吃蛇小游戏需求分析Word格式文档下载.docx

《贪吃蛇小游戏需求分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《贪吃蛇小游戏需求分析Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

贪吃蛇小游戏需求分析Word格式文档下载.docx

三、设计概要:

1.初始化模块:

屏幕初始化,屏幕初始化用于显示游戏信息“贪吃蛇”;

2.游戏界面模块:

设计绿色的边框,边框用黑色无框格子填充作为游戏活动区域;

3.游戏运行模块:

运用函数控制蛇长及食物的关系,并使用键盘控制方向;

4.判断模块:

头咬到尾或头接触活动区域外围,则游戏结束,显示累计分数。

四、详细设计及实现:

1.流程图(函数调用关系图)

2.预处理

#include<

stdio.h>

stdlib.h>

graphics.h>

dos.h>

conio.h>

time.h>

3.数据结构

IMAGEwal;

MOUSEMSGm;

typedefstruct

{

作为蛇身体和头部格子的坐标

intx[40];

inty[40];

intderection;

intfood;

intfoodx;

intfoody;

蛇身体格子的个数,即蛇长

intsize;

}snake;

snakes;

4.全局变量

为分数赋初值0,为速度赋初值300

intscore=0,speed=300;

5.函数声明

voidinit(void);

voidwall(void);

voidfood(void);

voidgameover(void);

intfood1(void);

voidsnakes(void);

voiddraw(void);

6.算法设计

●main函数:

具体实现程序功能。

调用的函数

函数功能

init

初始化绘图环境

food

随机产生食物位置,判断是否进食,增加蛇长

draw

画出蛇体状态及食物位置

snakes

蛇体及速度变化,运动方向的选择

gameover

判断游戏是否终止,显示分数

●init函数:

给结构体snake赋初值:

s.x[0]=25;

蛇体第一格初始位置的横坐标

s.y[0]=20;

蛇体第一格初始位置的纵坐标

s.x[1]=24;

蛇体第二格初始位置的横坐标

s.y[1]=20;

蛇体第二格初始位置的纵坐标

s.x[2]=23;

蛇体第三格初始位置的横坐标

s.y[2]=20;

蛇体第三格初始位置的纵坐标

s.derection=1;

蛇运动的初始方向定义为1

s.food=0;

未吃食前食物的数量为0

s.size=3;

蛇的初始长度为3个格子

初始化绘图环境为600*600像素的区域;

在(250.250)处显示游戏标题“贪吃蛇”;

等待操作者提供鼠标信息以开始游戏;

开始游戏后,用绿色边框显示活动区域。

initgraph

outtextxy

在当前位置输出字符串“贪吃蛇”

GetMouseMsg

获取一个鼠标信息;

若无,则一直等待

cleardevice

清屏

wall

画出活动区域及边框

 

●food函数、food1函数:

调用函数rand使计算机产生随机数,以获得食物的随机位置。

rand

获得一个随机数

food1

判断蛇是否吃到食物,若吃到则return1,

回到food函数中的do-while循环,再次随机生成食物位置;

否则return0,food调用结束。

●draw函数:

绘出蛇体及食物,蛇体边框绘制为亮蓝色,食物边框为红色;

并在(0.0)处显示“score:

__”(当前得分)。

setcolor

设置蛇体为蓝色&

设置食物为红色

rectangle

根据数组s.x[40]、s.y[40]及s.size画出蛇体;

根据s.foodx、s.foody[及s.size画出食物位置

在当前位置输出字符串“score:

”显示得分

●snakes函数:

用s.food(进食判断标志)判断蛇是否吃到食物,吃到则蛇长(限制蛇长<

40格)加一个格子,分数累加10,速度加快,并将s.food重置为0;

s,direction判断蛇头格子移动的方向。

使用的结构体

Typedefstruct()snake;

snakes。

snakes函数

的功能

If语句:

判断蛇是否吃到食物(蛇长<

40格),吃到则蛇长加一格,分数累加10,速度加快,并将s.food(进食判断标志)重置为0

Switch语句:

根据case1、case2、case3、case4判断s.direction(WSAD=上下左右)

●gameover函数

显示gameover提示信息,并输出玩家所得分数,结束游戏进程。

设置字符串“score:

_”为白色

_”“gameover”显示得分

获取一个鼠标信息:

若无,则一直等待;

若有,则exit,退出游戏。

五、测试及运行结果

六、成员分组:

程序构思及模块化、Main函数:

宋佳文

图形函数、Init函数、wall函数、gameover函数、:

马一菲宏旭

需求分析、Draw函数、Food函数、food1函数、snakes函数:

阮梦宇、莉

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1