f.java
来自「很好的3款手机游戏源码」· Java 代码 · 共 335 行
JAVA
335 行
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class f
implements d
{
private static int b4 = 12;
private static int b5 = 3;
public static byte ci[][];
public static byte b8[][];
public static byte ca[][];
public static byte bW[][];
public int cb;
public int b9;
private int ce;
private int bZ;
private Image cg;
private Image cf;
private Graphics b2;
private Graphics b0;
private static int b7 = 26;
private static int b6 = 7;
private static int b1[][];
private int ck;
private int cd;
private int cc;
private int bY;
private int bX;
public static boolean b3 = false;
public static a ch[];
c cj;
public f(c c1)
{
cj = c1;
cb = -6;
b9 = 0;
ce = 32;
bZ = 16;
ck = 0;
cd = 200;
cc = 176;
b1 = new int[b7][b6];
if (cg == null)
cg = Image.createImage(cd, cc);
if (cf == null)
cf = Image.createImage(cd, cc);
b2 = cg.getGraphics();
b0 = cf.getGraphics();
try(-16, -8);
ch = new a[7];
ch[0] = new a(c.a("/images/01.png"), 30, 16);
ch[1] = new a(c.a("/images/02.png"), 30, 63);
ch[1].void(15, 55);
ch[3] = new a(c.a("/images/03.png"), 30, 63);
ch[3].void(15, 55);
ch[4] = new a(c.a("/images/05.png"), 30, 14);
ch[4].void(0, -8);
}
public void w()
{
int i1;
if (b5 % 2 == 0)
i1 = c.bA - b5 - b4 / 2;
else
i1 = c.bA - b5 - (b4 + 1) / 2;
int j1 = (c.bC + b5) - b4 / 2;
for (int k1 = 0; k1 < b7 / 2; k1++)
{
a(i1 + k1, j1 + k1, 2 * k1, b1);
a(i1 + k1 + 1, j1 + k1, 2 * k1 + 1, b1);
}
}
private void a(int i1, int j1, int k1, int ai[][])
{
for (int l1 = 0; l1 < b6; l1++)
if (i1 + l1 >= 0 && j1 - l1 >= 0 && i1 + l1 < c.aS && j1 - l1 < c.by)
ai[k1][l1] = ((i1 + l1) * c.by + j1) - l1;
else
ai[k1][l1] = -1;
}
public void x()
{
cb = -6;
b9 = 0;
b2.setClip(0, 0, cg.getWidth(), cg.getHeight());
b0.setClip(0, 0, cf.getWidth(), cf.getHeight());
b2.setColor(0, 0, 0);
b2.fillRect(0, 0, cg.getWidth(), cg.getHeight());
b0.fillRect(0, 0, cf.getWidth(), cf.getHeight());
e(b2);
ck = 0;
}
public void char(int i1, int j1)
{
if (ck == 0)
a(b0, cg, i1, j1);
else
if (ck == 1)
a(b2, cf, i1, j1);
ck = 1 - ck;
}
private void a(Graphics g, Image image, int i1, int j1)
{
g.setColor(0, 0, 0);
g.setClip(0, 0, cd, cc);
g.fillRect(0, 0, cd, cc);
e(g);
if (i1 == -1 && j1 == 0)
{
cb -= 16;
b9 -= 8;
} else
if (i1 == 1 && j1 == 0)
{
cb += 16;
b9 += 8;
} else
if (j1 == -1 && i1 == 0)
{
cb += 16;
b9 -= 8;
} else
if (j1 == 1 && i1 == 0)
{
cb -= 16;
b9 += 8;
}
}
public void byte(int i1, int j1)
{
cb += i1;
b9 += j1;
}
public static byte j(int i1)
{
if (m(i1))
{
byte byte0 = ci[i1 / c.by][i1 % c.by];
return byte0;
} else
{
return 0;
}
}
public static byte l(int i1)
{
if (m(i1))
return ca[i1 / c.by][i1 % c.by];
else
return 0;
}
private static byte i(int i1)
{
if (m(i1))
return b8[i1 / c.by][i1 % c.by];
else
return 0;
}
public static byte h(int i1)
{
if (m(i1))
return bW[i1 / c.by][i1 % c.by];
else
return 0;
}
private static boolean m(int i1)
{
return !((i1 < 0) | (i1 >= c.aS * c.by));
}
public void f(Graphics g)
{
if (b3)
{
x();
b3 = false;
}
g.setClip(-10, -10, 200, 300);
g.setColor(0, 0, 0);
g.fillRect(0, 0, 176, 200);
if (ck == 0)
g.drawImage(cg, cb - 2, b9 - 4, 0);
else
g.drawImage(cf, cb - 2, b9 - 4, 0);
}
public int else(int i1, int j1)
{
return (cb + case(i1, j1) + 16) - 2;
}
public int n(int i1)
{
return (b9 + k(i1) + 8) - 2 - 2;
}
private int case(int i1, int j1)
{
if (i1 % 2 != 0)
return bY + j1 * ce + ce / 2;
else
return bY + j1 * ce;
}
private int k(int i1)
{
return bX + (i1 * bZ) / 2;
}
private void try(int i1, int j1)
{
bY = i1;
bX = j1;
}
private void e(Graphics g)
{
for (int i1 = 0; i1 < b1.length; i1++)
a(g, i1, 0, b1[i1].length);
}
public void d(Graphics g)
{
ch[1].ea = 1;
if (ch[2] != null)
ch[2].ea = 1;
ch[3].ea = 1;
int(g, b4 + 1, b5 - 1);
int(g, b4 + 1, b5);
int(g, b4 + 2, b5);
int(g, b4 + 2, b5 - 1);
int(g, b4 + 3, b5 - 1);
int(g, b4 + 3, b5);
int(g, b4 + 4, b5 - 1);
int(g, b4 + 4, b5);
int(g, b4 + 5, b5 - 1);
int(g, b4 + 5, b5);
int(g, b4 + 6, b5);
ch[1].ea = 0;
if (ch[2] != null)
ch[2].ea = 0;
ch[3].ea = 0;
}
private void int(Graphics g, int i1, int j1)
{
int k1 = else(i1, j1);
if (b1[i1][j1] != -1 && l(b1[i1][j1]) > 0)
{
if (l(b1[i1][j1]) <= 35)
ch[1].try(g, k1, n(i1), l(b1[i1][j1]) - 1);
else
ch[2].try(g, k1, n(i1), l(b1[i1][j1]) - 1 - 35);
ch[3].try(g, k1, n(i1), i(b1[i1][j1]) - 1);
}
}
private void a(Graphics g, int i1, int j1, int k1)
{
if (i1 < b1.length - 2)
{
for (int l1 = j1; l1 < k1; l1++)
if (b1[i1][l1] != -1 && j(b1[i1][l1]) > 0)
{
ch[0].try(g, case(i1, l1), k(i1), j(b1[i1][l1]) - 1);
if (i1 < b7 - 1 && b1[i1 + 1][l1] == -1 || l1 < b6 - 1 && b1[i1][l1 + 1] == -1 || l1 > 0 && b1[i1][l1 - 1] == -1)
{
if (j(b1[i1][l1]) > 6)
ch[4].try(g, case(i1, l1), k(i1), 3);
ch[4].try(g, case(i1, l1), k(i1), j(b1[i1][l1]) - 1);
}
}
}
if(g, i1, j1, k1);
}
private void if(Graphics g, int i1, int j1, int k1)
{
for (int l1 = j1; l1 < k1; l1++)
{
label0:
{
label1:
{
if (b1[i1][l1] == -1 || l(b1[i1][l1]) <= 0)
break label0;
if (l(b1[i1][l1]) <= 35)
ch[1].try(g, case(i1, l1) + 16, k(i1) + 8, l(b1[i1][l1]) - 1);
else
ch[2].try(g, case(i1, l1) + 16, k(i1) + 8, l(b1[i1][l1]) - 1 - 35);
if (l(b1[i1][l1]) <= 22 || l(b1[i1][l1]) == 35)
ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
f = this;
if (c.bI != 0)
{
f 1 = this;
if (c.bI != 1)
break label1;
}
if (l(b1[i1][l1]) > 35 && l(b1[i1][l1]) < 39)
ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
}
f 2 = this;
if (c.bI == 9 && l(b1[i1][l1]) == 36)
ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
}
if (i(b1[i1][l1]) > 0)
ch[3].try(g, case(i1, l1) + 16, k(i1) + 8, i(b1[i1][l1]) - 1);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?