• 大小: 283KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Java
  • 标签:

资源简介

用java编写的贪吃蛇项目,大学java课程结业项目,彩色的贪吃蛇,可以实现加速减速的功能。用eclipse编写的,带网格,代码报告详细,老师给了85分,来跟大家分享一下。

资源截图

代码片段和文件信息

package snake.controller;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.HashSet;
import java.util.Set;

import javax.swing.JLabel;
import javax.swing.JOptionPane;

import snake.entities.Food;
import snake.entities.Ground;
import snake.entities.Snake;
import snake.listener.GameListener;
import snake.listener.SnakeListener;
import snake.util.Global;
import snake.view.GamePanel;


@SuppressWarnings(“unused“)
public class Controller extends KeyAdapter implements SnakeListener {

/* 地形 */
private Ground ground;

/* 蛇 */
private Snake snake;

/* 食物 */
private Food food;

/* 显示 */
private GamePanel gamePanel;

/* 提示信息 */
private JLabel gameInfoLabel;

private boolean playing;

private int map;

/* 控制器监听器 */
private Set listeners = new HashSet();

/**
 //定义键盘按钮操作
 * UP: 改变蛇的移动方向为向上

 * DOWN: 改变蛇的移动方向为向下

 * LEFT: 改变蛇的移动方向为向左 

 * RIGHT: 改变蛇的移动方向为向右

 * SPACE: 暂停/继续

 * PAGE UP: 加快蛇的移动速度

 * PAGE DOWN: 减慢蛇的移动速度

 * Y: 重新开始游戏
 */
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() != KeyEvent.VK_Y && !playing)
return;
// TODO Auto-generated method stub
/* 根据按键不同 让蛇改变不同的方向 */
switch (e.getKeyCode()) {

/* 方向键 上 */
case KeyEvent.VK_UP:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.UP);
break;
/* 方向键 下 */
case KeyEvent.VK_DOWN:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.DOWN);
break;
/* 方向键 左 */
case KeyEvent.VK_LEFT:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.LEFT);
break;
/* 方向键 右 */
case KeyEvent.VK_RIGHT:
if (snake.isPause()) {
snake.changePause();
for (GameListener l : listeners)
l.gameContinue();
}
snake.changeDirection(Snake.RIGHT);
break;
/* 回车或空格 (暂停) */
case KeyEvent.VK_ENTER:
case KeyEvent.VK_SPACE:
snake.changePause();
/* === */
for (GameListener l : listeners)
if (snake.isPause())
l.gamePause();
else
l.gameContinue();
break;
/* PAGE_UP 加速 */
case KeyEvent.VK_PAGE_UP:
snake.speedUp();
break;
/* PAGE_DOWN 减速 */
case KeyEvent.VK_PAGE_DOWN:
snake.speedDown();
break;
/* 字母键 Y (重新开始游戏) */
case KeyEvent.VK_Y:
if (!isPlaying())
newGame();
break;
}

/* 重新显示 */
if (gamePanel != null)
gamePanel.redisplay(ground snake food);
/* 更新提示 */
if (gameInfoLabel != null)
gameInfoLabel.setText(getNewInfo());
}

/**
 * 处理Snake 触发的 snakeMoved 事件

 */
public void snakeMoved() {

/* 判断是否吃到食物 */
if (food != null &&

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2008-01-28 09:37  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\.classpath

     文件        389  2010-12-14 16:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\.project

     文件       1847  2010-12-13 21:05  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\view\GamePanel.java

     文件       3240  2010-12-13 21:49  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\util\Global.java

     文件        290  2010-12-13 13:21  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\listener\GameListener.java

     文件        195  2010-12-13 13:21  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\listener\SnakeListener.java

     文件       2939  2010-12-13 21:33  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\game\GameOptionPanel.java

     文件       7392  2010-12-13 17:22  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\game\Mainframe.java

     文件       1725  2010-12-13 20:35  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\entities\Food.java

     文件       4396  2010-12-13 20:34  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\entities\Ground.java

     文件       7920  2010-12-13 21:52  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\entities\Snake.java

     文件       7643  2010-12-13 21:31  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\src\snake\controller\Controller.java

     文件       1909  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\allclasses-frame.html

     文件       1709  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\allclasses-noframe.html

     文件       7179  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\constant-values.html

     文件       5122  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\deprecated-list.html

     文件       9839  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\help-doc.html

     文件       1378  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index.html

     文件       1723  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\overview-frame.html

     文件       6351  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\overview-summary.html

     文件       8533  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\overview-tree.html

     文件        146  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\package-list

     文件      12449  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\serialized-form.html

     文件       1231  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\stylesheet.css

     文件         57  2008-03-20 11:54  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\resources\inherit.gif

     文件       7236  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index-files\index-1.html

     文件       6973  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index-files\index-10.html

     文件       6621  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index-files\index-11.html

     文件       7460  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index-files\index-12.html

     文件       6653  2008-03-20 11:56  2010517020+周磊+贪吃蛇项目\java贪吃蛇程序代码\doc\index-files\index-13.html

............此处省略116个文件信息

评论

共有 条评论

相关资源