📄 b.java
字号:
}
private static void g(int i1) {
byte byte0;
byte byte1;
if (by[0] < 0x300000) {
byte0 = 42;
byte1 = 54;
} else {
byte0 = 54;
byte1 = 42;
}
int l1;
if (aN[i1][6] == 0)
l1 = 160 - (by[1] >> 16);
else
l1 = (by[1] >> 16) - 0;
int j1 = byte0 - (by[0] >> 16);
int k1 = byte1 - (by[0] >> 16);
int i2 = j1 * j1 + l1 * l1;
int j2 = k1 * k1 + l1 * l1;
if (l1 > 10 && i2 < 4096 && j2 < 4096) {
i2 = a(i2);
j2 = a(j2);
if (i2 > 0 && j2 > 0) {
if (aN[i1][6] == 1)
l1 = -l1;
int k2 = (j1 * 10) / i2;
int l2 = (l1 * 10) / i2;
int i3 = (k1 * 10) / j2;
int j3 = (l1 * 10) / j2;
int k3 = i3 - k2;
int l3 = j3 - l2;
i2 = k3 * k3 + l3 * l3;
i2 = a(i2);
if (i2 > 0) {
k3 = (k3 * 3 << 16) / i2;
l3 = (l3 * 3 << 16) / i2;
k2 = (k2 << 16) + by[0];
l2 = (l2 << 16) + by[1];
for (int i4 = 0; i4 < 4; i4++) {
a(am[i1][i4 + 7], aN[i1], k2, l2, 35);
k2 += k3;
l2 += l3;
}
}
}
}
}
private static void b(int ai1[], int i1) {
int j1 = ai1[0];
int k1 = ai1[1];
int j3 = 64;
if (i1 == 1) {
if (by[1] >> 16 < 80) {
int i2 = 0x1e0000;
if (k1 < i2)
k1 = i2;
} else {
int j2 = 0x820000;
if (k1 > j2)
k1 = j2;
}
} else {
if (by[0] >> 16 > 48)
j3 = -j3;
if (by[1] >> 16 > 80)
j3 = -j3;
}
int l1 = j1 - by[0] >> 16;
int k2 = k1 - by[1] >> 16;
int i3 = l1 * l1 + k2 * k2;
if (i3 < 576) {
int l2 = a(l1, k2);
do {
j1 = d[l2] * 24 + by[0];
k1 = d[l2 + 64 & 0xff] * 24 + by[1];
if (j1 > 0x40000 && j1 < 0x600000 && k1 > 0x80000
&& k1 < 0xa00000)
break;
l2 += j3;
if (l2 >= 256)
l2 -= 256;
if (l2 < 0)
l2 += 256;
} while (true);
}
ai1[0] = j1;
ai1[1] = k1;
}
private static void a(int i1, int ai1[], int ai2[]) {
d();
a _tmp = bF;
src.a.aA[8 + (i1 ^ 1)]++;
h();
ao = i1;
int j1 = (ai2[0] >> 16) - 48;
int k1 = (ai2[1] >> 16) - 0;
if (aN[i1][6] == 1)
k1 = 160 - k1;
f(1);
by[2] = 0;
by[3] = by[4] = by[5] = 0;
int l1;
int i2;
if (k1 <= 25 && j1 >= -25 && j1 <= 25) {
bQ = 18;
by[0] = 0x2f0000;
if (aN[i1][6] == 0)
by[1] = 0x110000;
else
by[1] = 0x910000;
by[6] = by[0];
by[7] = by[1];
cu = 1;
ac = 0;
by[2] = 0;
i2 = 10;
l1 = 12;
} else {
i2 = 17;
l1 = 11;
}
k1 = e() & 0xff;
j1 = ai1[11];
if (k1 < 224 && (j1 < 9 || ai1[34] == 0)) {
bQ = 36;
by[6] = by[0];
by[7] = by[1];
q = ai1[35];
ai1[34]++;
bc = i2;
az = l1;
if (ai1[34] == 2) {
aT = ai1[11];
ae = i1 ^ 1;
i2 = 9;
l1 = 13;
} else {
i2 = 8;
l1 = 4;
}
}
cc = i2;
by[9] = (((by[0] >> 16) - 0) * 192) / 96 >> 3;
by[10] = ((by[1] >> 16) - 0 << 8) / 160 >> 3;
a(aN[0], l1, false);
a(aN[1], l1, false);
}
private static boolean a(int ai1[], int i1) {
if (ai1[33] != 0)
return true;
if (ai1[11] == 0) {
int j1 = by[3] >> 16;
int k1 = by[4] >> 16;
j1 = j1 * j1 + k1 * k1;
if ((e() >> 8 & 0xff) <= 16)
return true;
if (j1 > 6 && by[2] > 0x28000) {
int l1 = e() & 0xff;
if (l1 < 16) {
ao = i1;
by[5] = 0x20000;
by[14] = 1;
return true;
}
}
}
boolean flag = ai1[11] != 0 && ai1[8] != 0 && by[2] > 0x18000;
if (cc == 21 && !flag && ai1[11] != 10 && aR != 3)
return true;
by[14] = 0;
q = ai1[35];
P = ai1[11];
ck = -1;
ao = i1;
by[11] = 1;
by[12] = 0;
by[3] = 0;
by[4] = 0;
by[5] = 0;
ai1[13] = 1;
aC[i1] = ai1;
d();
if (flag) {
a(ai1, i1, 4, true);
a(ai1, aN[i1], 0, 0, 4);
if (cc == 21 && aR == 2)
bz = true;
return true;
}
by[2] = 0;
if (ai1[11] == 0) {
if (cc == 20 || cc == 11) {
by[0] = ai1[0];
by[1] = ai1[1] - 0x30000;
} else {
int i2 = 16;
if (aN[i1][6] == 1)
i2 = 32 - i2;
by[9] = 12;
by[10] = i2;
a(aN[0], 10, false);
a(aN[1], 10, false);
cc = 13;
}
} else if (ai1[15] != 1)
a(ai1, aN[i1], 0, 0, 10);
return false;
}
private static void h() {
if (by[11] == 1) {
int i1 = ao;
by[3] = 0;
by[4] = 0;
by[5] = 0;
by[11] = 0;
aC[i1][13] = 0;
x = 5;
ck = aC[i1][5];
}
}
private static void a(Graphics g1, Image image, byte abyte0[], int i1,
int j1, int k1, boolean flag) {
i1 *= flag ? 4 : 6;
g1.setClip(j1, k1, abyte0[i1 + 0] & 0xff, abyte0[i1 + 1] & 0xff);
g1.drawImage(image, j1 - (abyte0[i1 + 2] & 0xff), k1
- (abyte0[i1 + 3] & 0xff), 20);
}
private static void a(Graphics g1, Image image, short aword0[], int i1,
int j1, int k1, boolean flag) {
i1 *= flag ? 4 : 6;
g1.setClip(j1, k1, aword0[i1 + 0], aword0[i1 + 1]);
g1.drawImage(image, j1 - aword0[i1 + 2], k1 - aword0[i1 + 3], 20);
}
private static void l() {
aA = 1;
bW = 27;
int i2 = 1;
bb[0] = 500;
int i1 = by[0] >> 16;
int j1;
if (am[0][0][25] > 0)
j1 = (by[1] >> 16) - 10;
else
j1 = (by[1] >> 16) + 10;
for (int l1 = 1; l1 < 11; l1++) {
int ai1[] = am[0][l1];
if (ai1[33] != 0 || ai1[21] != 0)
continue;
int k1 = ((ai1[0] >> 16) - i1) * ((ai1[0] >> 16) - i1)
+ ((ai1[1] >> 16) - j1) * ((ai1[1] >> 16) - j1);
if (k1 < 1600) {
h[i2] = l1;
bb[i2] = k1;
i2++;
}
}
bh = i2;
if (i2 == 1) {
return;
} else {
b(i2, bb, h);
return;
}
}
private static void b(int i1, int ai1[], int ai2[]) {
for (int k1 = 2; k1 < i1; k1++) {
int l1 = ai1[k1];
int i2 = ai2[k1];
int j1;
for (j1 = k1 - 1; j1 > 0 && ai1[j1] > l1; j1--) {
ai1[j1 + 1] = ai1[j1];
ai2[j1 + 1] = ai2[j1];
}
ai1[j1 + 1] = l1;
ai2[j1 + 1] = i2;
}
}
private static void a(int i1, int j1, int k1) {
z++;
if (z < 18) {
i = -1;
return;
}
if (z == 18) {
int j2 = am[i1][j1][0];
if (i1 == 1 && (e() & 0xff) > 64)
j2 = 0x300000;
int l2 = am[i1][j1][1];
int k5 = 0;
int i5 = 0x7fffffff;
for (int l1 = 1; l1 < 11; l1++) {
if (l1 == j1 || am[i1][l1][33] != 0)
continue;
int j3 = am[i1][l1][0] - j2 >> 16;
int l3 = am[i1][l1][1] - l2 >> 16;
int k4 = j3 * j3 + l3 * l3;
if (k4 < i5) {
i5 = k4;
k5 = l1;
}
}
i = k5;
return;
}
if ((k1 & 0xf) == 0)
return;
int j4 = i;
int k2 = am[i1][j4][0] >> 16;
int i3 = am[i1][j4][1] >> 16;
byte byte0 = 1;
byte byte1 = 1;
boolean flag = false;
if (k1 == 1)
byte0 = -4;
if (k1 == 2)
byte0 = 4;
if (k1 == 4) {
byte1 = 4;
flag = true;
}
if (k1 == 8) {
byte1 = -4;
flag = true;
}
int l5 = -1;
int j5 = 0x7fffffff;
for (int i2 = 1; i2 < 11; i2++) {
if (i2 == j1 || i2 == j4 || am[i1][i2][33] != 0)
continue;
int k3 = ((am[i1][i2][0] >> 16) - k2) / byte0;
int i4 = ((am[i1][i2][1] >> 16) - i3) / byte1;
int l4;
if (!flag)
l4 = k3;
else
l4 = i4;
if (l4 <= 0)
continue;
l4 = k3 * k3 + i4 * i4;
if (l4 < j5) {
l5 = i2;
j5 = l4;
}
}
if (l5 != -1)
i = l5;
}
private static int b(int ai1[], int i1, int j1) {
int k1 = -1;
if (!o)
if (i1 == 0) {
cz = ai1[11];
a(0, cz, ar);
if ((ar & 0x10) != 0)
k1 = i;
ar = 0;
} else {
a(1, ai1[11], 0);
int l1 = aN[0][5] + aN[1][5];
if (l1 >= j1)
k1 = i;
}
return k1;
}
private static void c(int i1, int j1, int k1) {
if (cc == 21)
return;
if (j1 != -1) {
if (aC[i1][11] != j1) {
if (aC[i1][21] == 0)
a(aC[i1], aN[i1], 0, 0, 4);
aC[i1] = am[i1][j1];
}
int l1 = aC[i1][9];
if (l1 != 12 && l1 != 13 && l1 != 20 && l1 != 21)
a(aC[i1], aN[i1], 0, 0, k1);
}
}
private static void a(int ai1[], boolean flag) {
if ((ar & 0xf) != 0 && (aq <= 0 || X != (ar & 0xf))) {
int k1 = an[ar & 0xf];
int l1 = ai1[26] >> 2;
if ((bk & ai1[5]) != 0) {
int i1 = k1 - l1;
if (k1 == 1 && l1 == 7)
i1 = 2;
if (k1 == 7 && l1 == 1)
i1 = -2;
int j1 = i1;
if (j1 < 0)
j1 = -j1;
if (j1 == 2) {
if (i1 > 0)
k1 = l1 + 1;
else
k1 = l1 - 1;
k1 &= 7;
aq = 3;
X = ar & 0xf;
}
}
ai1[4] = 10000;
if ((bk & ai1[5]) == 0 || k1 != l1) {
if (cc != 21 || aR != 3) {
ai1[16] = 20;
bk |= ai1[5];
}
k1 <<= 5;
ai1[26] = k1 >> 3;
ai1[2] = d[k1] * ai1[38] >> 7;
ai1[3] = d[k1 + 64 & 0xff] * ai1[38] >> 7;
if (flag) {
byte byte0;
if ((bk & ai1[5]) == 0)
byte0 = 3;
else
byte0 = 4;
ai1[22] = d[k1] * byte0;
ai1[23] = d[k1 + 64 & 0xff] * byte0;
}
}
}
}
private static void c(int ai1[], int i1, int j1, int k1) {
if (ai1[20] > 0) {
ai1[20]--;
return;
}
int l1 = (by[0] >> 16) - j1;
int j2 = (by[1] >> 16) - k1;
int j3 = l1 * l1 + j2 * j2;
if (j3 < 324 || cc == 16) {
if (cc == 16) {
l1 = 48;
if (aN[i1][6] == 1)
j2 = 2;
else
j2 = 158;
ai1[20] = 6;
} else {
l1 = by[0] >> 16;
j2 = by[1] >> 16;
}
int k3 = (j2 << 8) + l1;
if (ai1[7] != k3) {
ai1[7] = k3;
a(ai1, aN[i1], l1 << 16, j2 << 16, 5);
}
} else {
int l2 = j2;
if (l2 < 0)
l2 = -l2;
l2 = 64 - (l2 - 15);
if (l2 < 0)
l2 = 0;
if (l2 > 64)
l2 = 64;
int i3 = a(l1, j2);
int l3 = 0x800000 | i3 << 8;
if (ai1[7] != l3) {
ai1[7] = l3;
int i2 = d[i3] * 9 + (j1 << 16);
int k2 = (d[i3 + 64 & 0xff] * 9 * l2 >> 6) + (k1 << 16);
a(ai1, aN[i1], i2, k2, 5);
ai1[26] = (i3 + 16 & 0xe0) >> 3;
}
}
}
private static void c() {
if (by[11] == 0) {
int k1 = (by[1] >> 16) - 0;
int l1 = by[2];
by[5] -= 12288;
by[0] += by[3];
by[1] += by[4];
by[2] += by[5];
if (by[2] <= 0) {
by[2] = 0;
by[5] = -(by[5] * 11 >> 4);
}
if (by[2] == 0) {
by[3] = by[3] * 60 >> 6;
by[4] = by[4] * 60 >> 6;
}
int i1 = (by[0] >> 16) - 48;
int j1 = (by[1] >> 16) - 0;
if ((j1 < 0 && k1 >= 0 || j1 >= 160 && k1 < 160) && by[2] < 0x60000
&& (i1 <= -8 && i1 > -10 || i1 < 10 && i1 >= 8)) {
if (j1 < 0)
by[1] = 0;
else
by[1] = 0x9f0000;
by[3] = by[3] * 3 >> 2;
by[4] = -(by[4] * 3 >> 2);
}
if ((j1 < 0 && j1 >= -5 || j1 >= 160 && j1 <= 165) && i1 >= -10
&& i1 <= 10 && l1 >= 0x60000 && by[2] < 0x60000) {
by[2] = 0x60000;
by[5] = -(by[5] * 3 >> 2);
}
}
if (by[1] > 0x500000)
by[13] = aN[0][6];
else
by[13] = aN[0][6] ^ 1;
}
private static void b() {
if ((ar & 1) == 1)
cu--;
if ((ar & 2) == 2)
cu++;
if (cu < 0)
cu = 0;
if (cu > 2)
cu = 2;
if ((ar & 4) != 0)
ac++;
if ((ar & 8) != 0)
ac--;
if (ac < 0)
ac = 0;
if (ac > 1)
ac = 1;
ar &= 0xfffffff0;
}
private static void b(int i1, int j1, int k1) {
int k6 = -1;
int l6 = -1;
int j6 = -1;
int i5;
int j5;
int k5;
int l4 = i5 = k5 = j5 = 40000;
int j4 = by[0];
int k4 = by[1];
int i6;
int l5 = i6 = 0;
if (i1 >= 0) {
aC[ao][28] = -1;
aC[ao][27] = -1;
}
for (int l1 = 10; l1 >= 1; l1--) {
for (int k3 = 0; k3 < 2; k3++) {
int ai1[] = am[k3][l1];
if (ai1[33] != 0)
continue;
if (ai1[9] == 36)
a(ai1, aN[k3], 0, 0, 4);
int l3 = ai1[0];
int i4 = ai1[1];
int j2;
if ((j2 = aJ[k3][l1]) >= 0)
cv[k3][j2]--;
if (l3 >= 0 && i4 >= 0) {
j2 = ((i4 >> 19) << 4) + (l3 >> 19);
if (j2 >= 384)
j2 = 383;
cv[k3][j2]++;
} else {
j2 = -1;
}
aJ[k3][l1] = j2;
l3 = l3 - j4 >> 16;
i4 = i4 - k4 >> 16;
int k2;
int i7 = k2 = l3 * l3 + i4 * i4;
if (k3 == ao) {
if (i1 >= 0) {
if (aC[k3][11] == l1)
continue;
int j3;
if (ai1[17] == 0)
j3 = (ai1[1] >> 16) - 0;
else
j3 = 160 - (ai1[1] >> 16);
if (j3 < 35) {
j2 = (ai1[0] >> 16) - 48;
if (j2 < 0)
j2 = -j2;
if (j2 < 35)
aC[k3][29] = l1;
}
j3 = 10;
k2 = i4 * ai1[25];
if (k2 > 0)
j3 += 100;
k2 = a(l3, i4);
j2 = k2 - j1;
if (j2 < 0)
j2 = -j2;
if (j2 > 128)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -