下载此文档

毕业设计思路范文.docx


文档分类:论文 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
毕业设计思路
Java编写贪吃蛇游戏思路
需求分析:
游戏以经典贪吃蛇默认规则设计需要蛇能够按照给定的方向
每隔一段时间白动移动;方向键“ f ”、 “ $ ”、
“、“r”能够控制蛇移动的方向,蛇每吃到一个食 物后身体长度增加一格,原有食物消失,再随机生成一个 不再石头上的新食物;石头即为地图,蛇吃到石头后游戏 结束。
为了使游戏更加具备娱乐性和挑战性,增设关卡,随着关卡
级别的升高,蛇移动速度加快,蛇吃到食物的难度加大, 吃到一定数量的食物即可过关进入下一个关卡;为蛇吃到 食物后添加声音效果,增设背景音乐,能够控制背景音乐 的开关;
为了区别与经典模式的不同,游戏增加新的规则模式,新的
模式规则中,初始化的蛇长度一定,蛇吃到食物后,食物 随机产生一个新的食物,原来的食物经过蛇的消化后变为 石头固定在原处不能移动。
设计思路:
首先考虑所需要的总体框架
贪吃蛇游戏主题应为蛇,需要创立蛇这个类命名为 Snake,
还要有食物类命名为 Food,石头类命名为 Stone,显示面 板类命名为DisplayPanel,逻辑处理类命名为 Logic以及主
函数类命名为MainOfGreedySnake。
搭建类与类之间的关系
蛇吃食物,食物在被蛇吃到后随机产生新的食物,食物不
能在石头上生成,关系复杂,我们能够将这些关系在逻辑
处理类Logic中搭建,这样即降低了上面三个类之间的耦合
性,又方便以后对辅助功能的添加。
蛇,食物,石头需要在显示面板中显示出来,而三者又在
逻辑处理这个类Logic中做逻辑关系运算,我们可创立白己
的显示面板类 DisplayPanel,用逻辑处理类 Logic创立对象
作为参数传递给显示面板,使得蛇,食物,石头以及显示
面板直接的关系更加简单。
添加简单的测试功能
首先需要创立主函数,主函数中创立逻辑处理类 Logic的实
例对象,创立白定义的显示面板对象 DisplayPanel,将逻辑
处理类Logic的实例对象作为参数传递给显示面板
DisplayPanel的实例对象中,显示面板需要寄托在 Frame框
架上,这就需要在主函数中创立一个 JFrame对象,然后将
白定义的显示面板添加到 JFrame对象上。
接着是在每个类中添加一个测试用的功能函数,简单的打
印一条输出语句,在蛇类 Snake中,创立一个功能函数打
印“蛇类被加载”,食物类,石头类,逻辑处理类,显示
面板类中添加同样的功能,在逻辑处理类中定义蛇,食
物,石头对象,创立构造函数参数传入蛇,食物,石头类
型的对象;白定义的显示面板继承 JPanel类,定义逻辑处
理类的对象,创立构造函数传入逻辑处理类的对象。
经过调用类中的功能函数来测试,确保她们之间已经建立
联系。
类中填充功能及参数
首先分析蛇:
小的蛇
/

:
图 2-
我们把显示面板划分为格子,每个单位的蛇身占一个
格子,食物,石头同样,经过抽取定义一个格子类命名为
Square;蛇的身体由多个格子组成,需要一个链表集合存
储,定义一个 LinkedList类型的集合命名为 snakeBody,存
储类型为格子类型 Square的对象;蛇有一个长度,定义
一个int型的变量Length存储长度,定义一个 int型的
direction变量控制蛇移动的方向;定义一个 boolean类型 的变量iseatfood ,来标识蛇是否吃到食物;定义一个 boolean类型的变量iseatstone来标识蛇是否吃到石头;
蛇的功能有移动功能,创立功能函数 move (),关 于蛇移动,我们能够让存储蛇身体的集合 snakeBody添加
一个蛇头,去掉一个尾巴来实现,蛇头添加的位置又应该 由蛇移动的方向控制,因此在添加蛇头之前应该判断蛇头 的方向,如果蛇向上移动, direction应为1,我们让改变
之前的snakeBody调用addFirst ()功能添加蛇头,里面 的参数应为改变之前的蛇头的纵坐标减一个格子,向下, 向左,向右原理相同。
蛇已更改具有改变方向的功能,以便于后面控制蛇移 动的时候改变方向,定义函数 changeDirection (),传入
int型的方向值。
蛇还应该有判断是否吃到食物的功能,定义功能函数
isEatFood (),判断蛇是否吃到食物只需判断蛇头的坐标
是否和食物的坐标相同,这里有一个小问题,

毕业设计思路范文 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人我是开始
  • 文件大小22 KB
  • 时间2020-11-19