?? a.java
字號:
package src;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
class a {
public a(b b1) {
V = b1;
g = new Font[3];
ae = new int[3];
g[0] = Font.getFont(64, 0, 8);
g[1] = Font.getFont(64, 1, 0);
g[2] = Font.getFont(64, 1, 16);
for (int i1 = 0; i1 < 3; i1++)
ae[i1] = g[i1].getHeight();
at = new byte[56];
at[0] = 4;
at[1] = 0;
at[2] = 0;
at[3] = 0;
int i2 = 0;
int j1 = 0;
for (int l1 = 0; j1 < 4; l1 += 4) {
at[l1 + 4 + 0] = (byte) (j1 + 1 << 3);
if (j1 == 0)
at[l1 + 4 + 1] = -128;
else if (j1 == 1)
at[l1 + 4 + 1] = 64;
else
at[l1 + 4 + 1] = 32;
at[l1 + 4 + 2] = (byte) (20 + i2 * 2);
at[l1 + 4 + 3] = 0;
i2 += (at[l1 + 4 + 1] & 0xff) >> 4;
j1++;
}
g();
aA = new int[14];
e = new byte[16];
U = new byte[16];
A = new byte[15];
M = new byte[3];
R = new byte[22][17];
az = new byte[10][16];
w = new byte[2][4];
Z = new byte[2][16];
System.gc();
for (int k1 = 0; k1 < 16; k1++) {
e[k1] = (byte) k1;
U[k1] = (byte) k1;
}
n = 1;
T = 0;
x = 1;
f = -1;
d = 0;
ao = 0;
v = -1;
c();
}
public static void f() {
for (int i1 = 0; i1 < 11; i1++) {
b _tmp = V;
b _tmp1 = V;
A[src.b.am[0][i1][41]] = (byte) src.b.am[0][i1][34];
}
try {
System.gc();
b _tmp2 = V;
h = src.b.b("/res/bin/menu.bin", 8684);
al = Image.createImage("/res/img/bg.png");
ac = Image.createImage("/res/img/mys.png");
aE = Image.createImage("/res/img/line.png");
b _tmp3 = V;
N = src.b.b("/res/bin/league4.bin", 4912);
W = new Image[2];
W[0] = Image.createImage("/res/img/ml.png");
W[1] = Image.createImage("/res/img/sp.png");
aC = new int[10];
c = new short[100];
G = new int[100];
aq = new char[128];
as = new byte[32];
C = new byte[16];
j = new byte[128];
b = new byte[15];
B = new int[2][5];
} catch (Exception exception) {
}
e(0, 0);
System.gc();
}
public static void e() {
h = null;
al = null;
ac = null;
aE = null;
N = null;
W[0] = null;
W[1] = null;
W = null;
aC = null;
c = null;
G = null;
aq = null;
as = null;
C = null;
j = null;
b = null;
B = (int[][]) null;
System.gc();
}
private static void g() {
for (int i1 = 0; i1 < 16; i1++) {
b _tmp = V;
int k1 = src.b.e() & 0xf;
boolean flag = true;
do {
if (!flag)
break;
flag = false;
for (int j1 = 0; j1 < i1; j1++)
if ((at[20 + j1] & 0xff) == k1)
flag = true;
if (flag)
k1 = k1 + 1 & 0xf;
} while (true);
at[20 + i1] = (byte) k1;
}
}
public static void a(Graphics g1, int i1, int j1) {
if (i1 >= 14)
i1 -= 14;
else
i1 = (i1 - 6) + 5;
b _tmp = V;
int l1 = src.b.aS[265] + 2;
int k1 = 102 - l1;
if (i1 > 6) {
byte byte0 = 47;
int i2 = byte0 * 3 >> 2;
int j2 = 0xff0000;
if (i1 == 7)
j2 = 0xffff00;
g1.setColor(j2);
g1.setClip(0, 0, 176, 204);
g1.fillRoundRect(176 - i2 >> 1, k1 - byte0 - 2, i2, byte0, 4, 4);
}
if (i1 < 5) {
k1 += l1;
} else {
int k2;
for (k2 = 0; R[j1][k2++] != 0;)
;
b _tmp1 = V;
src.b.a(g1, R[j1], 0, k2 - 1, 88, k1 + l1, 17);
}
b _tmp2 = V;
src.b.a(g1, az[i1], 1, az[i1][0] & 0xff, 88, k1, 17);
}
public static void b(Graphics g1) {
b _tmp = V;
src.b.a(g1, az[9], 1, az[9][0] & 0xff, 2, 20, 20);
}
private static void a(int i1, int j1, byte abyte0[]) {
int k1 = a(i1, j1);
int l1 = h[k1 + 0] & 0xff | (h[k1 + 1] & 0xff) << 8;
System.arraycopy(h, k1 + 2, abyte0, 1, l1);
abyte0[0] = (byte) l1;
}
private static int b(int i1) {
int j1 = h[i1] & 0xff | (h[i1 + 1] & 0xff) << 8
| (h[i1 + 2] & 0xff) << 16 | (h[i1 + 3] & 0xff) << 24;
return j1;
}
private static int f(int i1) {
int l1 = b(0);
int j1 = 0;
for (int k1 = 4; j1 < l1; k1 += 8) {
if (b(k1) == i1)
return b(k1 + 4);
j1++;
}
return -1;
}
private static int d(int i1, int j1) {
int k1 = f(j1);
if (i1 < b(k1 + 0))
return b(k1 + (i1 << 2) + 4);
else
return -1;
}
private static int a(int i1, int j1) {
int k1 = d(i1, 1);
if (j1 < b(k1 + 0))
return b(k1 + (j1 << 2) + 4);
else
return -1;
}
private static int d(int i1) {
return b(d(i1, 1) + 0);
}
private static int e(int i1) {
int j2 = -1;
int l1 = 0;
int j1 = 0;
for (; l1 < 4; l1++) {
int i2 = h[i1 + 6 + l1] & 0xff;
for (int k1 = 0; k1 < i2;) {
if ((h[aB + (j1 << 2) + 1] & 0xff) == 1)
j2 = d(h[i1 + 2] & 0xff, 4) + 8 + l1 * 18 | j1 << 16;
k1++;
j1++;
}
}
return j2;
}
public static void e(int i1, int j1) {
int k1 = d(j1, 2);
h[k1 + 5] = (byte) aa;
k1 = d(i1, 2);
if (!F)
h[k1 + 4] = (byte) j1;
Q = h[k1 + 4];
an = i1;
aa = 0;
am = 0;
i = 0;
au = 0;
P = 0;
m = 0;
k1 = d(i1, 2);
ay = h[k1 + 0] & 0xff;
aB = k1 + 18;
aj = h[k1 + 1] & 0xff;
D = k1 + 18 + ay * 4;
ah = h[k1 + 3] & 0xff;
int l1 = d(h[k1 + 2] & 0xff, 4) + 8;
K = true;
av = true;
if ((h[l1 - 4] & 1) != 0)
K = false;
if ((h[l1 - 4] & 2) != 0)
av = false;
r = l1 + ah * 18;
X = 1;
for (int i2 = 0; i2 < 100; i2++)
G[i2] = 0;
c(i1, 2);
b();
F = false;
}
private static void b() {
ad = 0;
ak = 0;
int i1 = d(an, 2);
int j1 = e(i1);
if (j1 >= 0) {
int l1 = j1 >> 16;
j1 &= 0xffff;
a(g[h[j1 + 13]], d(h[aB + (l1 << 2) + 0] & 0xff, 0),
h[j1 + 16] & 0xff);
int l2 = (h[j1 + 17] & 0xff) / (ae[h[j1 + 13]] + 1);
if (ak > l2)
ad = 1;
}
int j2 = 0;
int k1 = 0;
byte byte0 = h[r + 13];
for (int i2 = 0; i2 < aj; i2++) {
int k2 = a(g[byte0], d(h[D + (i2 << 2) + 0] & 0xff, 0));
if (k2 > k1)
k1 = k2;
c[i2] = (short) j2;
if ((h[D + (i2 << 2) + 1] & 0xff) == 4)
j2 += ae[byte0];
j2 += ae[byte0] + 4;
}
if (j2 > (h[r + 17] & 0xff) + 1)
ad = 1;
E = k1;
c[aj] = (short) j2;
}
private static void a(Graphics g1, byte abyte0[], int i1, int j1, int k1,
int l1, int i2) {
int j2 = 0;
do {
if (j2 >= j1)
break;
if (abyte0[i1] == 0) {
j1 = j2;
break;
}
aq[j2] = (char) (abyte0[i1] & 0xff);
j2++;
i1++;
} while (true);
if (j1 > 0)
g1.drawChars(aq, 0, j1, k1, l1, i2);
}
private static void c(Graphics g1, int i1, int j1, int k1, int l1) {
a(g1, d(i1, 0), j1, k1, l1);
}
private static void a(Graphics g1, int i1, int j1, int k1, int l1) {
int i2 = h[i1 + 0] & 0xff | (h[i1 + 1] & 0xff) << 8;
a(g1, h, i1 + 2, i2, j1, k1, l1);
}
private static int a(Font font, byte abyte0[], int i1, int j1) {
int k1 = 0;
do {
if (k1 >= j1)
break;
if (abyte0[i1] == 0) {
j1 = k1;
break;
}
aq[k1] = (char) (abyte0[i1] & 0xff);
k1++;
i1++;
} while (true);
return font.charsWidth(aq, 0, j1);
}
private static int a(Font font, int i1) {
int j1 = h[i1 + 0] & 0xff | (h[i1 + 1] & 0xff) << 8;
int k1 = i1 + 2;
return a(font, h, k1, j1);
}
private static void b(Graphics g1, int i1, int j1, int k1, int l1) {
for (; k1 > 0; k1 -= 2) {
g1.drawRect(i1, j1, 1, k1);
i1 += l1;
j1++;
}
}
private static void a(Font font, int i1, int j1) {
j1 -= 2;
int k2 = h[i1 + 0] & 0xff | (h[i1 + 1] & 0xff) << 8;
i1 += 2;
int i2 = 0;
int j2 = -1;
int l1 = 0;
int k1 = 0;
boolean flag = false;
for (; k1 < k2; k1++) {
char c1 = (char) (h[i1 + k1] & 0xff);
if (k1 == k2 - 1 || c1 == ' ' || c1 == '\n') {
int l2 = font.charsWidth(aq, 0, k1 - i2);
if (k1 == k2 - 1) {
if (l2 >= j1)
flag = true;
} else if (l2 < j1)
j2 = k1;
else
flag = true;
}
if (c1 == '\n')
flag = true;
aq[k1 - i2] = c1;
if (!flag)
continue;
if (j2 == -1) {
for (; font.charsWidth(aq, 0, (k1 - i2) + 1) >= j1; k1--)
;
j2 = k1;
}
G[l1] = (j2 - i2) + 1;
if (c1 == '\n')
G[l1] |= 0x10000;
i2 = j2 + 1;
k1 = j2;
l1++;
j2 = -1;
flag = false;
}
if (k2 - i2 > 0) {
G[l1] = k2 - i2;
l1++;
}
ak = l1;
}
private static void c(Graphics g1) {
if (X > 0) {
X--;
int i1 = d(an, 2);
g1.setClip(0, 0, 176, 204);
g1.setColor(0);
g1.fillRect(0, 0, 176, 204);
g1.drawImage(al, 0, 0, 20);
int j1 = d(h[i1 + 2] & 0xff, 4);
int k1 = b(j1);
j1 += 8;
byte byte2 = h[j1 - 2];
int k7 = aB;
for (int l1 = 0; l1 < k1;) {
int i7 = h[j1 + 12] & 0xff;
int l6 = h[j1 + 13] & 0xff;
int i2 = h[j1 + 14] & 0xff;
int j2 = h[j1 + 15] & 0xff;
int k2 = h[j1 + 16] & 0xff;
int l2 = h[j1 + 17] & 0xff;
g1.setClip(i2, j2, k2, l2);
int i3 = b(j1 + 0);
if (i3 >= 0) {
g1.setColor(i3);
g1.fillRect(i2, j2, k2, l2);
}
g1.setColor(b(j1 + 4));
g1.setFont(g[l6]);
int k4 = i2;
if (i7 == 17)
k4 += k2 >> 1;
else if (i7 == 24)
k4 += k2;
else
k4++;
int l4 = j2 + 1;
int j7 = h[i1 + 6 + l1] & 0xff;
k4 -= P;
for (int j3 = 0; j3 < j7;) {
if (l4 > l2)
ad = 1;
if (l1 != byte2 || j3 >= au) {
int i5 = h[k7 + 1] & 0xff;
int j6 = h[k7 + 2] & 0xff;
int k5 = d(h[k7 + 0] & 0xff, 0);
int i8 = a(g1, an, h[k7 + 3] & 0xff, k5, k4, l4, false);
if (i5 == 1) {
if (i8 == 0) {
for (int i4 = 0; i4 < am; i4++)
k5 += G[i4] & 0xffff;
int i9 = l2 / (ae[l6] + 1);
for (int j4 = am; j4 < ak && i9 != 0; i9--) {
int k8 = G[j4];
if ((k8 & 0x10000) != 0)
k8 = (k8 & 0xffff) - 1;
a(g1, h, k5 + 2, k8, k4, l4, i7);
k5 += G[j4] & 0xffff;
l4 += ae[l6] + 1;
j4++;
}
}
} else if (i5 == 2) {
if (i8 == 0)
g1.drawImage(W[j6], k4, l4, i7);
} else {
if (i8 == 0) {
g1.setColor(b(j1 + 4));
a(g1, k5, k4, l4, i7);
}
l4 += ae[l6] + 1;
}
}
j3++;
k7 += 4;
}
if (l1 == ah) {
if (av)
k4 += 14;
int l7 = D + (i << 2);
int k3 = i;
do {
if (k3 >= aj)
break;
int j5 = h[l7 + 1] & 0xff;
int l5 = h[l7 + 0] & 0xff;
int k6 = h[l7 + 2] & 0xff;
byte byte0;
if (k3 == aa) {
g1.setColor(0xdd0000);
byte0 = 8;
b(g1, k4 - 8, l4 + 6, 7, 1);
} else {
byte0 = 4;
}
int j9;
if (j5 == 4)
j9 = ae[l6] * 2;
else
j9 = ae[l6];
if (av)
g1.drawImage(aE, 0, l4 - 1, 20);
int j8 = a(g1, an, h[l7 + 3] & 0xff, l5, k4, l4,
k3 == aa);
if (j8 == 0 && j5 != 9 && j5 != 10) {
g1.setColor(b(j1 + byte0));
c(g1, l5, k4 + 1, l4 + 1, i7);
}
if (j5 == 4 || j5 == 9) {
if (j5 == 4)
l4 += ae[l6];
g1.setColor(b(j1 + byte0));
int i6 = a(k6, G[k3]);
int l8 = a(g[l6], i6) + g[l6].stringWidth("x");
a(g1, i6, k4 + 1 + l8 / 2, l4 + 1, 17);
g1.setGrayScale(255);
b(g1, k4, l4 + (ae[l6] - 7) / 2, 7, -1);
b(g1, k4 + l8 + 1, l4 + (ae[l6] - 7) / 2, 7, 1);
}
g1.setClip(i2, j2, k2, l2);
l4 += ae[l6] + 4;
if (l4 > j2 + l2)
break;
k3++;
l7 += 4;
} while (true);
}
l1++;
j1 += 18;
}
g1.setClip(0, 0, 176, 204);
g1.setColor(0);
g1.fillRect(0, 186, 176, 18);
if (ad != 0) {
g1.setColor(0);
if (m == 0)
g1.setClip(83, 0, 9, 204);
g1.drawImage(ac, 88, 204, 33);
g1.setClip(0, 0, 176, 204);
}
g1.setColor(255, 255, 255);
g1.setFont(g[0]);
for (int l3 = 0; l3 < 2; l3++) {
byte byte1 = h[i1 + 10 + (l3 << 2)];
if (byte1 < 0)
continue;
if (l3 == 0)
c(g1, byte1, 1, 204, 36);
else
c(g1, byte1, 175, 204, 40);
}
}
}
private static void b(int i1, int j1) {
byte byte0 = h[j1 + 1];
if (byte0 >= 0) {
if (byte0 == 8) {
j1 = D + (aa << 2);
byte0 = h[j1 + 1];
}
int k1 = h[j1 + 3] & 0xff;
if (byte0 == 3) {
Y = h[j1 + 2];
a(i1, k1, 0, 0);
c(i1, 3);
e(Y, i1);
} else {
a(i1, k1, 0, 0);
X = 1;
}
}
}
private static void c(int i1) {
if (an == 22 && i1 != 0) {
for (int i2 = 0; i2 < 3; i2++)
if (i1 == k[i2][aD[i2]]) {
aD[i2]++;
if (k[i2][aD[i2]] >= 0)
continue;
b _tmp = V;
src.b.f(3);
aD[i2] = 0;
b _tmp1 = V;
b _tmp2 = V;
src.b.w[i2] = !src.b.w[i2];
b _tmp3 = V;
if (src.b.w[0]) {
b _tmp4 = V;
src.b.V = 10;
} else {
b _tmp5 = V;
src.b.V = ((((x << 1) + 3) * 60 * 256) / 90) * 1000 >> 8;
}
b _tmp6 = V;
if (src.b.w[1]) {
b _tmp7 = V;
src.b.w[1] = false;
for (int l2 = 0; l2 < 11; l2++) {
b _tmp8 = V;
src.b.am[1][l2][38] = 1;
}
continue;
}
b _tmp9 = V;
if (src.b.w[2]) {
b _tmp10 = V;
src.b.w[2] = false;
b _tmp11 = V;
b _tmp12 = V;
aA[0] = src.b.aN[0][8] = src.b.aN[1][8] + 1;
b _tmp13 = V;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -