• 大小: 31KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签: J2ME  追逐  简单的AI  

资源简介

一个用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


评论

共有 条评论