資源簡介
用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\Mainfr
?????文件???????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-fr
?????文件???????1709??2008-03-20?11:56??2010517020+周磊+貪吃蛇項目\java貪吃蛇程序代碼\doc\allclasses-nofr
?????文件???????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-fr
?????文件???????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\st
?????文件?????????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個文件信息
評論
共有 條評論