嵌入式课设贪吃蛇游戏需求分析报告.docx
- 文档编号:23133116
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:13
- 大小:112.66KB
嵌入式课设贪吃蛇游戏需求分析报告.docx
《嵌入式课设贪吃蛇游戏需求分析报告.docx》由会员分享,可在线阅读,更多相关《嵌入式课设贪吃蛇游戏需求分析报告.docx(13页珍藏版)》请在冰豆网上搜索。
嵌入式课设贪吃蛇游戏需求分析报告
嵌入式系统课程设计
需求分析报告
设计题目:
贪吃蛇游戏
组长:
崔平平(14201111)
组员:
孙明峰(14201110)
南昌航空大学软件学院
1引言
♦编写目的
本文档为《贪吃蛇游戏》的需求分析说明书,主要对游戏的功能、界面进行了相关的分析,并确定了数据,包括静态数据和动态数据。
与此同时,对关键功能的流程进行了针对性分析,保证了之后开发的正常进行。
♦项目背景
开发人员:
崔平平,孙明峰。
开发单位:
南昌航空大学软件学院142011班
委托人:
南昌航空大学软件学院黄东剑老师
说明:
该系统为142011班崔平平和孙明峰原创作品
♦名词解释
LCD:
液晶显示器,兼容多种LCD,可采用5寸256色屏或8寸16bit真彩屏,同时预留一个24bit接口。
可以支持板外8bit或24bit屏。
Frame:
游戏界面
♦参考资料
[1]马忠梅《ARM9嵌入式系统设计——基于S3C2410与Linux(第3版)》
北京航天航空大学出版社北京2015年5月第3版
[2]刘伟.设计模式[m].北京:
清华大学出版社,2012
[3]马忠梅《ARM&Linux嵌入式系统教程》
北京航天航空大学出版社北京2014年
[4]王田苗.《嵌入式系统设计与实例开发——基于ARM微处理器与
µC/OS-II实时操作系统(第3版)》清华大学出版社北京2008年1月第3版
[5]API函数.pdf---------------华大嵌入式实验资料2010年4月
[6]UP-NETARM3000说明书.pdf------华大嵌入式实验资料2010年4月
2任务概述
♦目标
向用户提供简单的贪吃蛇游戏,在LCD上显示图形界面,按键控制蛇的运行,数码管倒计时和计分,并且设有不同的关卡,管卡之间的区别是障碍物的设置。
与此同时,游戏设有三种难度,难度越高则移动速度越快。
♦假定与约束
开发期限:
三周
♦任务分工及开发计划
本软件是一个简单的小游戏,开发游戏的工作重点分为移动,食物的产生,不同关卡地图、障碍物的绘制,判断蛇是否吃到食物,判断游戏是否结束(多个条件,满足其一即可,如:
碰到边界、倒计时结束、碰到障碍物、碰到自身)以及最高分的保存。
崔平平:
障碍物判断、食物判断、保存得分、首尾接触判断
孙明峰:
计分并显示、倒计时(数码管)、墙壁判断
公共部分:
游戏界面、产生食物、障碍物绘制、移动
3数据描述
数据分为静态数据和动态数据。
所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长一段时间内不会变化,一般也不会随着运行而改变,所谓动态数据,包括所有在运行中要发生变化的数据,以及在运行中要输入、输出的数据。
♦静态数据
界面:
framelength、framewidth,background
Node:
width,length,代表地图(22*22)中的一小格
蛇:
size,point(x,y),life//蛇由node组成,size是node的个数
食物:
location(x,y),yes
历史最高分:
historyscore(从文件读取)
移动:
dicraction=4(下)6(上)1(右)9(左)5(暂停)0(结束)
Lowdistance,distance,highdistance(每秒移动的距离由难度决定)
难度:
rank
倒计时:
gametime=60
初始分数:
score=0
障碍物:
地图由二维数组确定,1则代表障碍物,规定障碍物的颜色为红色
地图:
map1[][]map2[][]
控制:
菜单F,进入游戏B,重新开始E,难度选择5
♦动态数据
难度选择:
inputrank(9易5中1难)
控制:
inputdicraction
历史最高记录:
goal(写入文件)
食物的位置:
struct{x,y,yes},随机数产生
4功能需求
♦流程图
任务一:
键盘监听,等待键盘信息【键盘】
任务二:
界面、游戏操作(包括蛇的移动、结束判断、食物判断),游戏控制(新的游戏、暂停等),【LCD】
任务三:
更新数码管的倒计时和分数【数码管】
图4-1描述的是程序任务切换流程,具体如下
图4-2描述的是程序的主要流程,具体如下
图4-2
♦功能划分
(1)记分(数码管)
具体得分为每吃到一个食物得分+1
(2)倒计时(数码管)
每关只有一分钟的时间,如果时间到还未通过本关卡,则游戏结束;进入新的关卡则重新开始倒计时。
(3)图形界面(LCD)
1>难度选择(移动速度)
显示可选择的难度,以及该难度的历史最高分,根据用户的输入选择难度,并设置游戏中蛇移动的速度(每秒移动的距离)
输入2,易
输入3,中
输入7,难
2>不同关卡的障碍物设置(五关)
第一关:
无障碍物
第二关:
界面正中间有一个正方形障碍物
3>初始化
贪吃蛇的图形实现,包括初始形状、节数(长度),位置
4>食物的设置
设置食物的大小以及位置、以及是否生成
(4)保存不同难度的历史最高分(txt文件存储)
游戏结束后判断得分是否大于文件中该难度的最高分,若大于则更新,并对用户给出提示,否则不更新。
(5)移动
通过键盘控制蛇的移动
(6)判断
1>碰到墙壁
碰到墙壁时,游戏结束,显示最终得分。
2>碰到障碍物
碰到障碍物时,游戏结束,显示最终得分。
3>首尾相碰
首尾相碰时,游戏结束,显示最终得分。
4>倒计时结束
倒计时结束时,游戏结束,显示最终得分。
5>碰到食物
碰到食物时,蛇的长度增加,分数增加,判断当前得分是否通过本关,通过则进入下一关,否则产生新的食物。
。
♦功能描述
对最底层的功能所要完成的功能进行详细描述,填入下表中:
功能名称
功能标识符
功能详细描述
显示得分
totalscore
每吃到一个食物得分+1,在数码管上显示当前得分
更新历史最高分
updatescore
判断得分是否大于文件中该难度的最高分,若大于则更新,并对用户给出提示,否则不更新
难度选择
difficulty
显示可选择的难度,以及该难度的历史最高分,根据用户的输入选择难度(每秒移动的距离)
倒计时
countdown
每关只有一分钟的时间,如果时间到还未通过本关卡,则游戏结束;进入新的关卡则重新开始一分钟倒计时
绘制界面
init
贪吃蛇的图形实现,包括初始形状、节数(长度),位置
绘制障碍物
barrier
设置不同关卡的障碍物形状、大小、位置、颜色
移动
move
通过键盘控制蛇的移动
产生食物
food
设置食物的大小以及位置、颜色
障碍判断
judgebarrier
判断是否碰到障碍物,若碰到则游戏结束
食物判断
judgefood
判断是否吃到食物,若增加蛇的长度,并产生新的食物
首尾接触判断
judgehead
判断是否头部碰到尾部,若碰到则游戏结束
新的游戏
newgame
开始新的游戏
结束游戏
exitgame
结束当前游戏
暂停游戏
pausegame
暂停当前游戏,暂停倒计时
♦数据与功能的对应关系
功能标识符
输入
输出
totalscore
静态数据名称:
score=0
updatescore
动态数据名称:
score
difficulty
静态数据名称:
rank=1、2、3
动态数据名称:
inputrank
countdown
静态数据名称:
time=60
动态数据名称:
tip=”时间到,游戏结束!
”,time
food
静态数据名称:
length=1,width=0.5,color=”green”,x,y
init
静态数据名称:
size=4,x=0,y=0,framelength=500,framewidth=400
barrier
静态数据名称:
x,y,length,width
move
静态数据名称:
direction=4(下)6(上)1(右)9(左)5(暂停)0(结束)
动态数据名称:
inputdirection
动态数据名称:
size,x,y
judgebarrier
静态数据:
barrier[]
动态数据名称:
tip=”碰到障碍物,游戏结束!
”,
judgefood
静态数据:
foodr[]
动态数据名称:
size
5性能需求
♦时间要求
响应时间:
小于3秒。
更新处理时间:
小于3秒。
数据转换时间:
小于3秒。
传送时间:
小于3秒。
♦适应性
目前只有下述运行环境才能保证正常运行
6运行环境描述
♦硬件设备
ARM9实验机箱,计算机一台。
试验箱基本硬件信息:
1.S3C2410-SCore小板:
采用S3C2410X处理器,64MNANDFLASH64RAM。
2.Double100MEtherNet网卡:
均由AX88796构成,采用现有电路但分配不同地址。
3.HOST/1DEVICEUSB接口:
主USB口扩展为4个,由AT43301构成USBHUB,其中电源管理用MIC2525。
USB从口保持处理器本身的1个。
4.UART/IrDA:
保持2个RS232串口,增加1个RS485串口,1个IrDA收发器,均从处理器的UART2引出。
5.168PinEXPORT:
有一个168Pin扩展卡插槽,并去掉已经被主板上各模块占用的资源。
网卡部分还在局部总线上,其余电路包括168Pin扩展槽都在外部总线
♦支持软件
超级终端,CodeWarriorforARMDeveloperSuite,μC/OS-II操作系统。
μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。
它被广泛应用于微处理器、微控制器和数字信号处理器。
♦接口
ARM9相关接口。
♦控制
在CodeWarriorforARMDeveloperSuite中运行代码,用超级终端连接ARM9实验机箱,在实验机箱上的4x4键盘上完成操作。
♦用户界面
用户界面有LED显示屏幕上的时间和积分显示。
界面左侧为地图(22*22),右边为菜单项(倒计时,得分等等)。
其中围墙为黑色,障碍物为红色,食物为绿色,蛇为黑色。
7其他需求
♦可靠性
1.记录游戏的积分信息,便于查看各用户的排行情况。
2.该系统与文件相连,同时文件也用来保存历史最高分信息。
3.系统运行稳定可靠,采用成熟的、经实践证明的技术。
♦安全保密性
无
♦可维护性
为了保证游戏的安全性与健壮性,要求具有详细的文档资料,同时,要求游戏在功能设计上考虑可扩展性,以满足游戏变动的需求。
从用户的实际需要出发进行游戏开发,不盲目追求高新技术的应用。
产品设计可能要考虑到运行条件的变化,包括技术条件(网络条件、硬件条件和软件系统平台条件等)的变化和应用方式的变化,如在具体应用中界面的变化、功能的改变等。
♦可跨平台性
本游戏采用C技术规范,使用C技术实现,实现了平台无关性,可以在多种平台上部署本游戏,给用户提供更大的基础环境选择空间。
实现了一处开发,处处可用的作用。
♦可扩展性
为了适应时代新技术的发展和用户的需求变更,游戏随时需要升级,这就要求在原游戏的基础上,易于对其修改和完善,不需要重新开发软件以减少成本,提高了系统的游戏可重用性。
♦易用性
1.本软件主要在c的支持下完成,展示在LCD上,操作ARM试验箱按钮来控制,不同的按钮进行不同的操作,实现不同的功能。
2.游戏可以根据需要提供标准接口,能够给其他软件提供标准的数据接口。
3.如果用户有疑问可直接查看说明书,或者查看帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 贪吃 游戏 需求 分析 报告