📄 groundenemy.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: GroundEnemy.java
import java.util.Hashtable;
import java.util.Vector;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class GroundEnemy
{
public GroundEnemy(int i, int j, int k, Main main1, GameFC gamefc)
{
dir = -1;
skinTime = 0L;
skinDelay = 0;
main = main1;
gameFC = gamefc;
switch(i)
{
case 1: // '\001'
w = 16;
h = 16;
msF = 10;
skinDelay = 300;
Image image = (Image)main1.cache.get("characters1.png");
skins = new Image[4];
skins[0] = main1.extractFrame(image, w, h, 0);
skins[1] = main1.extractFrame(image, w, h, 1);
skins[2] = main1.flipHorizontal(skins[1]);
skins[3] = main1.flipHorizontal(skins[0]);
break;
case 2: // '\002'
w = 16;
h = 16;
msF = 15;
skinDelay = 200;
Image image1 = (Image)main1.cache.get("characters1.png");
skins = new Image[4];
skins[0] = main1.extractFrame(image1, w, h, 2);
skins[1] = main1.extractFrame(image1, w, h, 3);
skins[2] = main1.flipHorizontal(skins[1]);
skins[3] = main1.flipHorizontal(skins[0]);
break;
case 3: // '\003'
w = 26;
h = 19;
msF = 5;
skinDelay = 300;
Image image2 = (Image)main1.cache.get("characters2.png");
skins = new Image[8];
skins[0] = main1.extractFrame(image2, w, h, 3);
skins[1] = main1.extractFrame(image2, w, h, 2);
skins[2] = main1.extractFrame(image2, w, h, 1);
skins[3] = main1.extractFrame(image2, w, h, 0);
skins[4] = main1.flipHorizontal(skins[3]);
skins[5] = main1.flipHorizontal(skins[2]);
skins[6] = main1.flipHorizontal(skins[1]);
skins[7] = main1.flipHorizontal(skins[0]);
break;
case 4: // '\004'
w = 16;
h = 16;
msF = 15;
skinDelay = 200;
Image image3 = (Image)main1.cache.get("characters1.png");
skins = new Image[4];
skins[0] = main1.extractFrame(image3, w, h, 6);
skins[1] = main1.extractFrame(image3, w, h, 7);
skins[2] = main1.flipHorizontal(skins[1]);
skins[3] = main1.flipHorizontal(skins[0]);
break;
case 5: // '\005'
w = 16;
h = 16;
msF = 10;
skinDelay = 200;
Image image4 = (Image)main1.cache.get("characters1.png");
skins = new Image[4];
skins[0] = main1.extractFrame(image4, w, h, 8);
skins[1] = main1.extractFrame(image4, w, h, 9);
skins[2] = main1.flipHorizontal(skins[1]);
skins[3] = main1.flipHorizontal(skins[0]);
break;
case 6: // '\006'
w = 16;
h = 16;
msF = 15;
skinDelay = 200;
Image image5 = (Image)main1.cache.get("characters1.png");
skins = new Image[4];
skins[0] = main1.extractFrame(image5, w, h, 4);
skins[1] = main1.extractFrame(image5, w, h, 5);
skins[2] = main1.flipHorizontal(skins[1]);
skins[3] = main1.flipHorizontal(skins[0]);
break;
}
curSkin = skins.length / 2 - 1;
Landscape landscape = gamefc.landscape;
landscape.matrix[j][k] = '.';
xF = landscape.xF + j * landscape.w * 10;
yF = (landscape.yF + (k + 1) * landscape.h * 10) - h * 10;
gamefc.turtles.addElement(this);
}
public void paint(Graphics g)
{
Graphics _tmp = g;
Graphics _tmp1 = g;
g.drawImage(skins[curSkin], xF / 10, yF / 10, 0x10 | 4);
}
public void move()
{
int i = 0;
long l = System.currentTimeMillis();
int j = skins.length / 2 - 1;
switch(dir)
{
default:
break;
case -1:
if(curSkin > j)
curSkin = j;
else
if(l > skinTime + (long)skinDelay)
{
skinTime = l;
curSkin--;
if(curSkin < 0)
curSkin = j;
}
i = -msF;
break;
case 1: // '\001'
if(curSkin < j + 1)
curSkin = j + 1;
else
if(l > skinTime + (long)skinDelay)
{
skinTime = l;
curSkin++;
if(curSkin > skins.length - 1)
curSkin = j + 1;
}
i = msF;
break;
}
Landscape landscape = gameFC.landscape;
int ai[] = gameFC.landscape.getPosition((xF + i) / 10, (yF / 10 + h) - h / 4);
int k = ai[0];
int i1 = ai[1];
int ai1[] = gameFC.landscape.getPosition((xF + i) / 10 + w, (yF / 10 + h) - h / 4);
int j1 = ai1[0];
int k1 = ai1[1];
int ai2[] = gameFC.landscape.getPosition((xF + i) / 10, yF / 10 + h + h / 2);
int l1 = ai2[0];
int i2 = ai2[1];
int ai3[] = gameFC.landscape.getPosition((xF + i) / 10 + w, yF / 10 + h + h / 2);
int j2 = ai3[0];
int k2 = ai3[1];
if(!landscape.isEmpty(k, i1) || !landscape.isEmpty(j1, k1) || landscape.isEmpty(l1, i2) || landscape.isEmpty(j2, k2))
{
i *= -1;
dir *= -1;
}
xF += i;
}
public boolean isActive()
{
return xF / 10 >= -w;
}
protected Image skins[];
protected Main main;
protected GameFC gameFC;
public int xF;
public int yF;
public int w;
public int h;
public int msF;
protected int curSkin;
protected int dir;
protected long skinTime;
protected int skinDelay;
public static final int MOVE_LEFT = -1;
public static final int MOVE_RIGHT = 1;
public static final int TYPE_TURTLE_1 = 1;
public static final int TYPE_TURTLE_2 = 2;
public static final int TYPE_WHITE_GHOST = 3;
public static final int TYPE_SPARKY_1 = 4;
public static final int TYPE_SPARKY_2 = 5;
public static final int TYPE_SEA_SHELL = 6;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -