java贪吃蛇演示稿PPT学习课件_第1页
java贪吃蛇演示稿PPT学习课件_第2页
java贪吃蛇演示稿PPT学习课件_第3页
java贪吃蛇演示稿PPT学习课件_第4页
java贪吃蛇演示稿PPT学习课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java贪吃蛇,1,2020/8/3,设计,涉及到的类 个各类所涉及到的方法,2,2020/8/3,GamePanel类,GamePanel 类 void display();/ 显示,3,2020/8/3,Snake类,void move(); / 移动(走一步) void changeDirection(); / 改变方向 void eatFood(); / 吃食物(身体变长) boolean isEatBody();/ 蛇是否吃到了自己的身体 void drawMe(); / 显示 自己定时移动,4,2020/8/3,Food类,boolean isSnakeEatFood(Snake)

2、;/ 判断蛇是否吃到了食物 void drawMe();/ 显示,5,2020/8/3,Ground类,boolean isSnakeEatRock(Snake);/ 蛇是否吃到石头 void drawMe();/ 显示,6,2020/8/3,各个类之间的关系,Ground,Food,Snake定时移动,controller,处理按键事件,处理逻辑事件,Controller,Game panel 重新显示,7,2020/8/3,Controller,通过事件监听建立联系,Snake 定时移动,MainFrame,移动后, 触发事件,snakeMoved,SnakeListener,处理按键事件

3、,状态改变 需要重新显示,触发按键事件,重新显示,事件源,事件源,8,2020/8/3,SnakeListener,void snakeMoved(Snake);,9,2020/8/3,总的包与类,为了方便查看定义不同的包 game包括GameOptionPanel,MainFrame类 Controller包括controller类 Entities包括food ground snake类 Listeners包括GameListener,SnakeListener接口 Util包括global类 View包括GamePanel类,10,2020/8/3,怎么表示蛇, 食物, 石头,可以把显示

4、区域想象成一个大大表格, 其中的一个格子可以代表一个食物或一块石头, 几个连在一起的格子就代表一条蛇 怎么区分格子呢(怎么表示这个格子呢)? 用坐标,每个格子有它自己的坐标,左上角的那个格子的坐标是 (0,0),11,2020/8/3,怎么表示蛇, 食物, 石头,y 坐 标,x 坐标,12,北京传智播客教育 ,蛇怎么移动,蛇向前移动一步,可以看作是蛇头前面增加了一个节点,蛇的尾巴上少了一个节点 (即去尾,加头),移动前,原来的第二节,原来的蛇头,移动后,13,2020/8/3,用什么数据结构存放蛇的身体节点,分析: 要区分蛇头和蛇尾巴,这就要求这个数据结构是有序的,还要(经常的)访问第一个和最

5、后一个节点, 所以 LinkedList 最合适,因为它有 getFirst() , getLast()方法 和 removeLast() 方法,14,2020/8/3,蛇的移动方向,蛇下一步移动到哪儿, 是由方向来控制的。 用什么表示方向呢? 在这里我们用 int 型的常量表示,15,2020/8/3,根据原蛇头和方向计算新蛇头的坐标,y 坐 标,x 坐标,向上移动 y 坐标减 1 向左移动 x 坐标减 1 向下移动 y 坐标加 1 向右移动 x 坐标加 1,16,2020/8/3,格子的宽度和高度,像素坐标 (x, y),矩形(格子)的高度 CELL_HEIGHT,矩形(格子)的宽度 CE

6、LL_WIDTH,17,2020/8/3,格子坐标和像素坐标,这个点的像素坐标为 x 坐标: 格子的宽度 * left y 坐标: 格子的高度 * top,top = 1,left = 2,left 是这个格子距左边界的距离 top 是这个格子距上边界的距离,18,北京传智播客教育 ,关于方向, 有两个要注意地方 1. 相反方向 2. 无效方向,19,2020/8/3,什么是相反方向 和上一次移动的方向相反的方向即为相反方向 如果输入的是相反方向则应该忽略 (判断相反方向时应该注意方向的有效性),20,2020/8/3,在蛇的这一次移动之后和下一次移动之前这个时间间隔内输入了多个方向, 只有最后一个是有效方向, 其余的都为无效方向,21,2020/8/3,无效方向,蛇移动一次的时间间隔之内,无效方向 相反方向,无效方向,22,2020/8/3,蛇移动后可能出现的三种情况,1. 吃到食物 2. 吃到石头 3. 吃

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论