SnakeGame

所属分类:其他
开发工具:Java
文件大小:14KB
下载次数:1
上传日期:2018-04-29 15:44:01
上 传 者NULL立
说明:  可以实现蛇上下左右移动,吃食物,撞墙和撞自己死亡,计分
(Snake can be moved up and down, eating food, hitting a wall and hitting oneself dead, scoring.)

文件列表:
SnakeGame\.classpath (301, 2017-11-27)
SnakeGame\.project (385, 2017-11-27)
SnakeGame\.settings\org.eclipse.jdt.core.prefs (598, 2017-11-27)
SnakeGame\bin\control\Controller.class (1895, 2017-12-19)
SnakeGame\bin\listener\Snakelistener.class (154, 2017-12-19)
SnakeGame\bin\test\SnakeGameText.class (1426, 2017-12-19)
SnakeGame\bin\util\Global.class (360, 2017-12-19)
SnakeGame\bin\view\GamePanel.class (889, 2017-12-19)
SnakeGame\bin\wsl\Food.class (1046, 2017-12-19)
SnakeGame\bin\wsl\Ground.class (1520, 2017-12-19)
SnakeGame\bin\wsl\Snake$SnakeDriver.class (990, 2017-12-19)
SnakeGame\bin\wsl\Snake.class (3283, 2017-12-19)
SnakeGame\src\control\Controller.java (1854, 2017-11-28)
SnakeGame\src\listener\Snakelistener.java (253, 2017-11-27)
SnakeGame\src\test\SnakeGameText.java (895, 2017-11-28)
SnakeGame\src\util\Global.java (203, 2017-11-28)
SnakeGame\src\view\GamePanel.java (662, 2017-11-28)
SnakeGame\src\wsl\Food.java (637, 2017-11-28)
SnakeGame\src\wsl\Ground.java (1347, 2017-11-28)
SnakeGame\src\wsl\Snake.java (2747, 2017-11-28)
SnakeGame\bin\control (0, 2017-12-19)
SnakeGame\bin\listener (0, 2017-12-19)
SnakeGame\bin\test (0, 2017-12-19)
SnakeGame\bin\util (0, 2017-12-19)
SnakeGame\bin\view (0, 2017-12-19)
SnakeGame\bin\wsl (0, 2017-12-19)
SnakeGame\src\control (0, 2017-11-27)
SnakeGame\src\listener (0, 2017-11-27)
SnakeGame\src\test (0, 2017-11-27)
SnakeGame\src\util (0, 2017-11-28)
SnakeGame\src\view (0, 2017-11-27)
SnakeGame\src\wsl (0, 2017-11-27)
SnakeGame\.settings (0, 2017-11-27)
SnakeGame\bin (0, 2017-12-19)
SnakeGame\src (0, 2017-11-28)
SnakeGame (0, 2017-11-28)

贪吃蛇 通过按上下左右控制蛇的移动方向 当蛇吃到自己或者碰到四壁游戏结束 *******************************总体框架************************************* Snake类 move() //移动 eatFood(Food food) //吃食物 changeDirection() //改变方向 drawMe() //画蛇身 Food类 isEatBySnake(Snake snake) //是否吃到自己 drawMe() //画出食物 Ground类 isEatBySnake(Snake snake) //是否撞到障碍物 drawMe() //画出障碍物 GamePannel类 //**************显示蛇身、食物、障碍物 display() //继承轻级容量器JPanel,重写paintComponent //**面板画东西必须用画笔,paintComponent** Control类(控制器) 1 构造函数初始化 四个对象作为成员并用构造函数初始化 2 移动控制(键盘事件控制,键盘监听器) 继承KeyAdapter重写keyPressed方法 3 每次移动都要判断是否碰到自己,障碍物,食物 写一个监听器,创建一个接口Snakelistener 4 控制器需要蛇的监听器,能够监听蛇是否撞到自己,食物,障碍物 Controller实现接口 主装游戏 1 创建所有类的对象 2 控制器控制游戏开始startGme(),让蛇开始移动start() 3 在Snake中添加start()启动蛇的移动 start实现-》启动一个线程让蛇移动 4 线程SnakeDirver() 5 给射添加监听器,面板加键盘监听器 创建窗体,添加面板,启动游戏,显示界面 *************************************************************************** **************************具体实现******************************************** Snake移动(去尾加头) 数据结构选LinkedList LinkedList容纳点类型Point (蛇头做过的位置,蛇身都会经过) 用Point,蛇身就是由几个方块组成,定义没个方块的宽度、高度,矩形左上角坐标 面板分成x*y个格子组成 定义辅助类Global 定义格子宽度、高度,格子数量 坐标系(x,y) 真正的坐标系(x*格子宽,y*格子高) *****移动-》获得蛇头->键盘获取方向 *****食物(一个格子) 位置由左上角坐标决定 食物类继承点Point *****控制器 游戏开始时决定a。蛇的移动 b。食物位置 *****吃掉食物,把去掉的尾巴加回来即可 当蛇头碰到食物时即为吃掉,并产生一个新的食物 *****碰到障碍物、自己 当蛇头碰到障碍物、自己 即游戏结束

近期下载者

相关文件


收藏者