資源簡介
一個用J2ME做的非常簡單的小游戲。一開始敵人追你,吃到食物后,變大追敵人。游戲很簡單,AI也不復雜,就是坐標比較,還有兩圓的碰撞檢測和圓與矩形的碰撞檢測。

代碼片段和文件信息
import?java.util.Random;
import?javax.microedition.lcdui.Font;
import?javax.microedition.lcdui.Graphics;
import?javax.microedition.lcdui.game.GameCanvas;
/**
?*?追逐游戲
?*?
?*?@author?kf156(亞日)
?*?
?*/
public?class?ChevyCanvas?extends?GameCanvas?implements?Runnable?{
public?final?static?int?KEY_SOFT1?=?-6;?//?功能鍵?左?1
public?final?static?int?KEY_SOFT2?=?-7;?//?功能鍵?右?2
public?final?static?int?KEY_SOFT3?=?-5;
public?final?static?int?KEY_LEFT?=?-3;
public?final?static?int?KEY_RIGHT?=?-4;
public?final?static?int?KEY_UP?=?-1;
public?final?static?int?KEY_DOWN?=?-2;
private?Thread?thread;
public?int?circleX?circleY;//?圓的XY坐標
private?int?diameter?=?10;//?小球直徑
private?int?radii?=?diameter?>>?1;//?小球半徑
private?int?eyeshot?=?100;//?敵人視野半徑
public?int?rectX?rectY;//?方塊XY坐標
public?int?rectW?=?10?rectH?=?10;//?方塊WH
public?int?foodX?foodY;//?食物XY坐標
public?int?foodDiameter?=?10;//?食物直徑
public?int?foodRadii?=?foodDiameter?>>?1;//?食物半徑
public?int?speed?speed1;//?移動速度
public?boolean?eatFood;//?吃到食物
public?int?time;//?線程控制時間
public?boolean?running;//?是否循環
public?int?width?height;//?屏幕寬高
private?byte?n;//?隨機運動計數器
private?int?effectiveTime;//?變大有效時間
private?int?nFood;//?食物閃爍計數器
private?int?m;//?方形運動方向
private?int?state;//?游戲狀態
private?final?byte?PLAY?=?0;//?游戲
private?final?byte?LOSE?=?1;//?輸
private?final?byte?WIN?=?2;//?贏
private?Font?font;
int[]?key?=?new?int[4];
public?Random?r?=?new?Random();//?隨機
public?ChevyCanvas()?{
super(true);
setFullScreenMode(true);
init();
StartThread();
}
private?void?init()?{
running?=?true;
eatFood?=?false;
width?=?getWidth();
height?=?getHeight();
time?=?75;
circleX?=?0;
circleY?=?0;
rectX?=?100;
rectY?=?100;
speed?=?4;
speed1?=?2;
n?=?0;
effectiveTime?=?60;
foodX?=?120;
foodY?=?120;
nFood?=?0;
state?=?PLAY;
font?=?Font.getFont(Font.FACE_MONOSPACE?Font.style_PLAIN
Font.SIZE_LARGE);
}
public?void?input()?{
key[0]?=?key[2];
key[1]?=?key[3];
key[2]?=?0;
}
private?void?update()?{
if?(state?!=?PLAY?&&?key[0]?==?KEY_SOFT1)//?左軟鍵游戲重開
init();
else?if?(key[0]?==?KEY_SOFT2)//?右軟鍵退出
ChevyMidlet.quitApp();
if?(state?==?PLAY)?{//?游戲中
switch?(getKeyStates())?{//?游戲按鍵判斷
case?UP_PRESSED:
circleY?-=?speed;
break;
case?DOWN_PRESSED:
circleY?+=?speed;
break;
case?LEFT_PRESSED:
circleX?-=?speed;
break;
case?RIGHT_PRESSED:
circleX?+=?speed;
break;
}
//?邊界判斷
if?(circleX?0)
circleX?=?0;
else?if?(circleX?>?width?-?diameter)
circleX?=?width?-?diameter;
if?(circleY?0)
circleY?=?0;
else?if?(circleY?>?height?-?diameter)
circleY?=?height?-?diameter;
think();//?敵人思考
food();//?食物
state?=?gameState();
}
}
/**
?*?食物的判斷
?*?
?*/
private?void?food()?{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????541??2009-08-17?23:48??追逐游戲\ChevyGame\.project
?????文件????????259??2009-08-15?00:07??追逐游戲\ChevyGame\.eclipseme
?????文件????????242??2009-08-15?00:07??追逐游戲\ChevyGame\.classpath
?????文件????????183??2009-08-15?00:07??追逐游戲\ChevyGame\AI.jad
?????文件???????8223??2009-08-17?23:49??追逐游戲\ChevyGame\verified\classes\ChevyCanvas.class
?????文件????????993??2009-08-17?23:49??追逐游戲\ChevyGame\verified\classes\ChevyMidlet.class
?????文件????????166??2009-08-15?00:07??追逐游戲\ChevyGame\.settings\org.eclipse.jdt.core.prefs
?????文件??????10381??2009-08-17?23:49??追逐游戲\ChevyGame\src\ChevyCanvas.java
?????文件????????632??2009-08-17?23:49??追逐游戲\ChevyGame\src\ChevyMidlet.java
?????文件???????7489??2009-08-17?23:49??追逐游戲\ChevyGame\res\ChevyCanvas.class
?????文件????????973??2009-08-17?23:49??追逐游戲\ChevyGame\res\ChevyMidlet.class
?????文件??????15992??2009-08-17?23:49??追逐游戲\ChevyGame.png
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\verified\libs
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\verified\classes
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\verified
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\.settings
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\src
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame\res
?????目錄??????????0??2009-08-17?23:49??追逐游戲\ChevyGame
?????目錄??????????0??2008-10-25?22:45??追逐游戲
-----------?---------??----------?-----??----
????????????????46074????????????????????20
- 上一篇:MiniF28069用戶手冊
- 下一篇:Qt 獲取Cookie
評論
共有 條評論