课程设计贪吃蛇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称:面向对象程序设计C++
设计题目:贪吃蛇
专业:计算机科学与技术
姓名
学号:20130516161
指导教师:李晓虹
2015 年 1 月 7 日
一,系统需求分析
一.引言
1.编写目的:
此需求分析说明书对《贪吃蛇游戏》软件做了全面细致的用户需求分析,明确所要开发的游戏软件应具有的功能、性能与界面,使系统分析人员及软件
开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书
和完成后续设计与开发工作。
本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档
编写者、项目管理人员。
2.背景
随着科技的发展,现在电脑的功能已不仅仅是简单的聊聊天、收发短信了。更多的电脑用户希望在工作、学习之余通过方便休闲娱乐。因此,为了迎合众
多用户的需求并适应现在电脑的规模开发出一套适合各阶层人士的具有很强的
娱乐性和交互性的贪吃蛇小游戏。虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的。因为它的特殊在于它能吸引人更深入,爱不
释手.随着游戏速度不断加快,其刺激性也更强。可以说该游戏的优势在于它的简单易行,不论是手机点按哦,电脑,还是小游戏机,都能很快顺利的运行。
对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的。这
样的小游戏刚好迎合了他们的需求。
3.定义
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。而且其很强
的交互性及简单易行性,可以让人在很短时间内熟悉它的游戏规则,不论用户
文化水平如何,都会很轻松的学会使用它。
5.开发人员
熊青青
二,总体设计
1.目标
在如今社会,人们的工作学习压力逐渐增大,生活节奏逐渐加快,大多数
人没有足够的时间去休闲娱乐,放松自己。这款小型的手机游戏,可以让我们
随时随地都能享受游戏,。让我们从繁重的日常生活中解脱出来。游戏的主界面应该力求美观,爽心悦目,以提高玩家对游戏的兴趣。游戏的控制模块应
该做到易懂、易操作,以给玩家一个很好的游戏环境。
2.用户的特点
由于本程序简单易操作,交互性好,对用户没什么特别要求。一般用户经
过几分钟练系都可以熟悉本游戏的规则。
3. 假定与约束
开发周期14天
4.游戏模块
1. Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。
游戏主界面模块:主要包括游戏图形区域界面、游戏开始按钮、暂停按钮、退出按钮。
游戏控制模块:主要完成游戏的开始、暂停、退出等功能。
5.对性能的规定
本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计
的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优
点。
游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。
模块划分:
5.1. 主控模块。
5.2. 动画音乐模块
5.3. 画主界面模块
5.4. 游戏过程模块
5.5. 游戏结束处理模块
5.6. 读取记录模块
5.7. 成绩排序模块
5.8. 写入文件模块
5.9. 排行榜模块
5.10. 退出
6.设计的目的
6.1 复习C++中学习过的基本知识
6.2 将学习的C++知识得以系统化
6.3 掌握C++中函数设计的方法和结构化设计的思想
6.4 掌握规范的程序设计思路
6.5 掌握规范的程序编码格式
7.要求描述
7.1设计要求
(1)基本函数的实现
(2)基本函数模块的实现
7.2 版式的要求
(1)设计面板清晰,结构明确
(2)有相应的文字说明
(3)有相应的注释
7.3 报告要求
1)模块化程序设计
(2)必须上机调试和测试
(3)程序设计的框图,流程图
(4)原程序清单和执行结果
8.贪吃蛇功能描述
8.1 贪吃蛇的基本玩法:
即可以用上、下、左、右键游戏区蛇的运动方向,使之向着有食物的方向运动,并吞吃食物使身体增长,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。
3.2 调节蛇的运动速度:
即用户可以调节蛇的速度来选择不同的难度。
3.3 选择关卡功能:
即游戏分不同的难度级别,用户可以选择不同的难度级别进行游戏。
3.4 游戏帮组:
即用户可以查看游戏得分、查看英雄榜等。
三,详细设计
3.1初始化
为防止食物总是出现在一个位置上,要设置随机数发生器的种子数,产生真正的随机数。由于还没有画出食物,并设置需要食物,并设置蛇活着。初始时,蛇只有蛇头和1节蛇尾,设置这2节坐标。设定蛇开始的爬行方向左右。
3.2 随机确定食物位置
由于蛇吃到食物的判断是蛇头的坐标和食物的坐标相等,所以要确保食物出现的位置在10的倍数位置上。先用两个带随机函数的表达式产生一个位于围墙内的x、y坐标,然后用两个while循环将两个坐标值调整到10的倍数上,这样就可以让蛇吃到。
3.3 循环确定蛇身的新坐标
吃到物key=ESC 蛇死蛇撞墙蛇死按键判蛇的位置接受按
键key 除蛇尾,增节延迟10秒吃后处理置蛇死标志窗蛇身,