资源简介
不能运行直接在评论里骂我,请客观评价,谢谢!

代码片段和文件信息
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+H2+mybatis-plus59130
- 登录注册界面.zip48872
- 贪吃蛇源代码.fla
- 数字华容道
- SSM+Shiro+redis实现单点登陆
- jstl-api-1.2和jstl-impl-1.2
- 基于MVC模式的会员管理系统
- 国内一家大型软件公司内部的正规软
- 仿windows记事本
- 简单的房屋租赁系统
- .net网站服装销售系统(MVC)
- GUI银行管理系统
- 超市收银系统eclipse access大学课程设计
- 贪吃蛇游戏设计(汇编语言)
- 模拟ATM柜员机系统--连接数据库
- A*算法的2D演示(带源码)
- 基于MVC模式的校园BBS系统的设计与实
- MVC模式编写的音乐网站
- 代码审查表和代码审查实例
- MVC模式实现的计算器
- 仿126 网易 163 邮箱 界面
- Tomcat6.x
- 简单的行编辑器
- 扫雷(MVC架构)
- 302 Found
- window ping命令加时间并记录日志
- Scratch 贪吃蛇 素材及代码
- Scratch 贪吃蛇 小游戏源码
- Scratch 好玩的贪吃蛇1.0
- Scratch 贪吃蛇.sb3 小游戏源码
评论
共有 条评论