• 大小: 20KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-12-20
  • 语言: 其他
  • 标签: MVC  贪吃蛇  java  游戏  

资源简介

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

资源截图

代码片段和文件信息

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\Mainframe.class
     目录           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\Mainframe.java
............此处省略11个文件信息

评论

共有 条评论