资源简介
不能运行直接在评论里骂我,请客观评价,谢谢!
代码片段和文件信息
package com.snake.controller;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.HashSet;
import java.util.Set;
import com.snake.listener.GameListener;
import com.snake.listener.SnakeMoveListener;
import com.snake.model.Food;
import com.snake.model.Snake;
import com.snake.model.Stone;
import com.snake.view.GamePanel;
public class Controller extends KeyAdapter implements SnakeMoveListener {
private Snake snake;
private Food food;
private Stone stone;
private GamePanel gamepanel;
private Set listeners = new HashSet();//监听Game的状态
public Controller(Snake snake Food food Stone stone GamePanel gamepanel) {
super();
this.snake = snake;
this.food = food;
this.stone = stone;
this.gamepanel = gamepanel;
}
/*
* (non-Javadoc)
*
* @see java.awt.event.KeyAdapter#keyPressed(java.awt.event.KeyEvent)
*/
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case 37:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.LEFT);
break;
case 38:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.UP);
break;
case 39:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.RIGHT);
break;
case 40:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.DOWN);
break;
case 32:
case 10:
System.out.println(“改变了“);
snake.changePause();
for (GameListener l : listeners)
if (snake.isPause())
l.gamePause();
else
l.gameContinue();
break;
}
}
@Override
public void snakeMove(Snake snake) {
if (food.isEatBySnake(snake)) {
snake.eatFood();
food.newFood(stone.getPoint());
}
if (stone.isContanctSnake(snake)) {
snake.die();
}
if (snake.isEatBody()) {
snake.die();
}
gamepanel.dispaly(snake stone food);
}
public void newGame() {
snake.start();
food.newFood(stone.getPoint());
}
public void addGameListener(GameListener l) {
if (l != null)
this.listeners.add(l);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-10-03 22:15 MVC_Snake\
文件 301 2013-09-19 08:49 MVC_Snake\.classpath
文件 385 2013-09-19 08:50 MVC_Snake\.project
目录 0 2013-10-03 22:15 MVC_Snake\.settings\
文件 598 2013-09-19 08:49 MVC_Snake\.settings\org.eclipse.jdt.core.prefs
目录 0 2013-10-03 22:15 MVC_Snake\bin\
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\controller\
文件 3389 2013-09-19 21:54 MVC_Snake\bin\com\snake\controller\Controller.class
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\game\
文件 2052 2013-09-19 21:58 MVC_Snake\bin\com\snake\game\Mainfr
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\listener\
文件 173 2013-09-19 20:58 MVC_Snake\bin\com\snake\listener\GameListener.class
文件 183 2013-09-19 15:05 MVC_Snake\bin\com\snake\listener\SnakeMoveListener.class
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\model\
文件 1052 2013-09-19 21:48 MVC_Snake\bin\com\snake\model\Food.class
文件 1378 2013-09-22 11:30 MVC_Snake\bin\com\snake\model\Snake$SnakeDriver.class
文件 4293 2013-09-22 11:30 MVC_Snake\bin\com\snake\model\Snake.class
文件 1528 2013-09-19 21:48 MVC_Snake\bin\com\snake\model\Stone.class
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\util\
文件 451 2013-09-22 11:29 MVC_Snake\bin\com\snake\util\Constants.class
目录 0 2013-10-03 22:15 MVC_Snake\bin\com\snake\view\
文件 1224 2013-09-19 21:48 MVC_Snake\bin\com\snake\view\GamePanel.class
目录 0 2013-10-03 22:15 MVC_Snake\src\
目录 0 2013-10-03 22:15 MVC_Snake\src\com\
目录 0 2013-10-03 22:15 MVC_Snake\src\com\snake\
目录 0 2013-10-03 22:15 MVC_Snake\src\com\snake\controller\
文件 2461 2013-09-19 21:54 MVC_Snake\src\com\snake\controller\Controller.java
目录 0 2013-10-03 22:15 MVC_Snake\src\com\snake\game\
文件 1676 2013-09-19 21:58 MVC_Snake\src\com\snake\game\Mainfr
............此处省略11个文件信息
- 上一篇:外星人入侵自学源码
- 下一篇:离线和实时大数据开发实战
相关资源
- springboot+rabbitmq项目demo(亲测可正常运
- 关于Spring MVC项目maven中通过fileupload上
- jxbrowser 所有版本通用的破解包
- 2017年-传智播客-张志君老师-SpringBoo
- Blob.js+Export2Excel.js
- 机会路由源代码+仿真工具(SCORP)
- 基于web的图书馆运营系统
- POI中文帮助文档附带api手册.zip
- 2018双十一阿里供应链服务平台讲座
- 原银在线信贷平台概要设计说明书v
- office_word_api 开发文档
- sun.misc.Unsafe源码
- netty的视频90集
- Drool最新 中文文档
- mybatis3-api.chm
- 蚂蚁课堂每特学院第二期,高清不加
- poi 动态修改docx窗体域内容,并存为
- reportdesign基于lodop的vue简单打印设计工
- SpringBoot +vue 框架项目.zip
- 基于Servlet下的验证码功能的实现
- jdk-11中文api修订版.CHM
- 招商银行信用卡中心2018春招IT笔试数
- 2019年独家Kubernetes K8S与Jenkins的CI CD高
- 新闻管理系统前台和后台
- MVC做的小说管理系统
- 一个spring项目
- SWT帮助文档
- 手机银行后台管理系统
- js特效40套
- 差旅管理系统
评论
共有 条评论