📄 ai.java
字号:
private boolean b(int i1, int j1, int k1, int l1, int ai1[], int ai2[])
{
int i2 = 512;
int ai3[] = new int[1];
if(a(i1, j1, k1, l1, h, i, j, i, ai3) && ai3[0] < 512)
{
ai1[0] = i2 = ai3[0];
ai2[0] = 0;
}
if(a(i1, j1, k1, l1, h, k, j, k, ai3) && ai3[0] < i2)
{
ai1[0] = i2 = ai3[0];
ai2[0] = 1;
}
if(a(i1, j1, k1, l1, h, i, h, k, ai3) && ai3[0] < i2)
{
ai1[0] = i2 = ai3[0];
ai2[0] = 2;
}
if(a(i1, j1, k1, l1, j, i, j, k, ai3) && ai3[0] < i2)
{
ai1[0] = i2 = ai3[0];
ai2[0] = 3;
}
return i2 != 512;
}
private int a(int i1, int j1, int k1, int l1, int i2, int j2)
{
int k2 = 512;
int l2 = -1;
int ai1[] = new int[1];
int ai2[];
(ai2 = new int[1])[0] = -1;
if(a(i1, j1, i1 + i2, j1 + j2, ai1, ai2) && ai1[0] < 512)
{
k2 = ai1[0];
l2 = ai2[0];
}
if(a(k1, j1, k1 + i2, j1 + j2, ai1, ai2) && ai1[0] < k2)
{
k2 = ai1[0];
l2 = ai2[0];
}
if(a(i1, l1, i1 + i2, l1 + j2, ai1, ai2) && ai1[0] < k2)
{
k2 = ai1[0];
l2 = ai2[0];
}
if(a(k1, l1, k1 + i2, l1 + j2, ai1, ai2) && ai1[0] < k2)
{
k2 = ai1[0];
l2 = ai2[0];
}
h = i1;
i = j1;
j = k1;
k = l1;
for(int i3 = 0; i3 < d; i3++)
{
short word0 = d[i3];
int j3 = aa.a(a[word0]) << 6;
int k3 = aa.b(a[word0]) << 6;
if(b(j3, k3, j3 - i2, k3 - j2, ai1, ai2) && ai1[0] < k2)
{
k2 = ai1[0];
l2 = ai2[0];
a = true;
}
int l3 = aa.a(a[word0 + 1]) << 6;
int i4 = aa.b(a[word0 + 1]) << 6;
if(b(l3, i4, l3 - i2, i4 - j2, ai1, ai2) && ai1[0] < k2)
{
k2 = ai1[0];
l2 = ai2[0];
a = true;
}
}
return l2;
}
public final int a(int i1, int j1, int k1, int l1, int i2, int j2, int k2,
int l2, int i3, int j3)
{
short word0 = (short)(k2 * i3 >> 6);
short word1 = (short)(l2 * i3 >> 6);
if(a(i1 + k1 + word0, j1 + l1 + word1, i1 + i2 + word0, j1 + j2 + word1) == 0)
return j3 = aa.a(word0, word1);
int k3 = 0;
int l3 = 0;
a = false;
int i4 = a(i1 + k1, j1 + l1, i1 + i2, j1 + j2, word0, word1);
if(!a)
{
if(i4 == -1)
i4 = d[0];
k3 = aa.a(a[i4 + 1]) - aa.a(a[i4]);
l3 = aa.b(a[i4 + 1]) - aa.b(a[i4]);
} else
{
switch(i4)
{
case 0: // '\0'
case 1: // '\001'
k3 = 1;
l3 = 0;
break;
case 2: // '\002'
case 3: // '\003'
k3 = 0;
l3 = 1;
break;
}
i4 = -1;
}
int j4 = k3 * k3 + l3 * l3;
int k4;
int l4 = ((k4 = (k3 * k2 + l3 * l2) * i3 >> 6) * k3) / j4;
int i5 = (k4 * l3) / j4;
j3 = aa.a((short)l4, (short)i5);
if(word0 * l4 + word1 * i5 < 0)
j3 = aa.a((short)(-aa.a(j3)), (short)(-aa.b(j3)));
if(a(i1 + k1 + aa.a(j3), j1 + l1 + aa.b(j3), i1 + i2 + aa.a(j3), j1 + j2 + aa.b(j3)) == 0)
return j3;
int j5;
for(j5 = 0; j5 < d && (d[j5] != i4 || a); j5++);
if(j5 < d)
{
int k5 = 0;
int l5 = 0;
if(l3 > 0)
k5 = -1;
else
if(l3 < 0)
k5 = 1;
if(k3 > 0)
l5 = 1;
else
if(k3 < 0)
l5 = -1;
if(word0 * -l3 + word1 * k3 > 0)
{
k5 = -k5;
l5 = -l5;
}
j3 = aa.a((short)(aa.a(j3) + (k5 << 6)), (short)(aa.b(j3) + (l5 << 6)));
if(a(i1 + k1 + aa.a(j3), j1 + l1 + aa.b(j3), i1 + i2 + aa.a(j3), j1 + j2 + aa.b(j3)) != 0)
j3 = 0;
} else
{
j3 = 0;
}
return j3;
}
public final void c()
{
if(aa.b && ((q) (a)).j == 35)
{
if(aa.a(4))
{
aa.b(4);
aa.e--;
if(aa.e < 0)
aa.e = 0;
}
if(aa.a(8))
{
aa.b(8);
aa.e++;
if(aa.e >= aa.B)
aa.e = aa.B - 1;
}
}
int i1;
if((i1 = aa.G) < 128)
{
if(l > 0)
{
if(aa.a(16))
{
l = 0;
aa.b(16);
}
l -= i1;
if(l < 0)
l = 0;
}
} else
{
i1 = 128;
}
b[0] += i1;
m += i1;
if(m > 256)
m = 0;
if(((z) (a)).E <= 0)
{
if(p == 1)
{
if(a.a.a != -1)
{
aa.h(a.a.a);
aa.k = true;
} else
{
aa.e(11);
aa.d(18);
}
aa.i();
return;
}
if(p == 5)
{
h();
return;
} else
{
aa.e(11);
aa.d(18);
return;
}
}
if(p == 0 || p == 5)
{
e = 0;
for(int j1 = 0; j1 < c[1]; j1++)
{
h h1;
switch(((z) (h1 = (h)a[1][j1])).a.b)
{
case 7: // '\007'
case 8: // '\b'
case 10: // '\n'
case 11: // '\013'
case 14: // '\016'
default:
break;
case 5: // '\005'
case 6: // '\006'
case 9: // '\t'
case 13: // '\r'
case 15: // '\017'
case 16: // '\020'
case 17: // '\021'
case 18: // '\022'
case 19: // '\023'
case 22: // '\026'
case 23: // '\027'
case 24: // '\030'
if(((z) (h1)).E <= 0)
{
aa.e(11);
aa.d(18);
return;
}
break;
case 2: // '\002'
case 3: // '\003'
case 4: // '\004'
case 12: // '\f'
case 20: // '\024'
case 21: // '\025'
if(((z) (h1)).E > 0 && ((q) (h1)).j != 1)
e++;
break;
}
}
}
f(i1);
if(aa.k == 15 || aa.k == 17 || aa.k == 16)
{
m();
return;
} else
{
g(i1);
a(11, i1);
int k1 = a.a + (a.i >> 1);
int l1 = a.b + (a.j >> 1);
f = k1 - 256;
g = l1 - 256;
m();
p();
a(9, i1);
h(i1);
d(i1);
e(i1);
k(i1);
a.a(i1);
aa.g(i1);
a.a(i1);
b.a(i1);
return;
}
}
private static void i(int i1)
{
int ai1[] = g.c;
for(i1--; i1 != 0;)
ai1[i1--] &= 0xff0000;
}
private static void j(int i1)
{
int ai1[] = g.c;
for(i1--; i1 != 0;)
{
int j1;
int k1 = (j1 = ai1[i1]) >> 16;
int l1 = j1 >> 8 & 0xff;
int i2 = j1 & 0xff;
k1 >>= 2;
l1 >>= 1;
i2 >>= 2;
ai1[i1--] = k1 << 16 | l1 << 8 | i2;
}
}
public final void d()
{
c(a.a, a.b);
a.b();
a(a, b);
a(a, b, aa.a[0].e, aa.a[0].f);
n();
o();
for(int i1 = 0; i1 < A; i1++)
{
m m1 = a[i1];
a.a(m1.a, m1.b, m1.c, m1.d, m1.e, m1.f);
int k1 = m1.c * m1.d;
System.arraycopy(g.d, 0, g.c, 0, k1);
if(i1 == 0)
{
g.d = a;
short word0 = c[5];
for(int j1 = 0; j1 < word0; j1++)
{
a a1;
if((a1 = (a)a[5][j1]).a == 0 && ((q) (a1)).j == 1)
g.d = (a1.a << 10) + (a1.b << 5) + a1.c << 16;
}
}
k();
l();
g.a(m1.c, m1.d);
if(aa.k == 18)
{
if(aa.K == 11)
i(m1.c * m1.d);
if(aa.K == 8)
j(m1.c * m1.d);
}
a.drawRGB(g.c, 0, m1.c, m1.e, m1.f, m1.c, m1.d, false);
}
a.c();
r();
c(11, a);
c(9, a);
a(67, a);
if(aa.k != 18)
{
a(a);
l(a);
}
i(a);
if(aa.k == 18)
return;
j(a);
b(65, a);
k(a);
aa.c(a);
ab ab1;
if(((q) (a)).j == 29 && (ab1 = a.a).a == 2 && ((q) (ab1)).j == 1)
ab1.c(a);
a.e(a);
a.a(a);
if(aa.k != 15 && !a.e && f == 0)
d(a);
if(aa.a == 1 && aa.k == 15 && aa.b != null && aa.b.c == 461)
h(a);
if(f != 0)
{
aa.a.setColor(0, 0, 0);
aa.a.fillRect(0, 0, aa.o, f);
aa.a.fillRect(0, aa.p - f, aa.o, f);
}
aa.a(a);
aa.b(a);
if(aa.a == 0)
d(5, a);
a.c(a);
a.d(a);
}
private void k(e e1)
{
if(p == 1)
{
if(l != 0 && l < 3000)
{
aa.a(12 + l / 1000, aa.o >> 1, aa.p >> 1, (byte)6, e1, aa.o);
return;
}
} else
if(l != 0)
aa.a((l + 999) / 1000, e1.i / 2, e1.j / 2);
}
private void l(e e1)
{
h h1;
if((h1 = a.a) == null)
return;
if(((z) (h1)).E <= 0)
{
return;
} else
{
g g1;
(g1 = aa.a[9]).a(12, ((q) (h1)).o - 16, ((q) (h1)).p + 6, 1, e1, 0);
g1.a(12, ((q) (h1)).o - 16, (((q) (h1)).p + 6) - g1.b[12], 0, e1, 0);
return;
}
}
private void k(int i1)
{
Object obj = null;
int j1 = 0;
int k1 = 0;
if(((q) (a)).j == 2 || ((q) (a)).j == 22 || ((q) (a)).j == 27)
return;
if(a.a != null)
{
g g1 = aa.a[1];
if(a.a.a == 2)
{
j1 = ((q) (a.a)).o + (g1.a[a.a.a] >> 1);
k1 = ((q) (a.a)).p + (g1.b[a.a.a] >> 1);
} else
{
j1 = ((q) (a.a)).o + g1.a[a.a.a];
k1 = ((q) (a.a)).p + g1.b[a.a.a];
}
obj = a.a;
} else
if(a.b != null)
{
j1 = ((q) (a.b)).o + 8;
k1 = ((q) (a.b)).p - -12;
obj = a.b;
}
if(obj == null)
{
return;
} else
{
a.e = j1 - 2;
a.f = k1 + -12;
a.b(i1);
return;
}
}
public final void e()
{
b(64);
b(65);
b(66);
l = 3000;
a.d();
a.a.c();
aa.a();
}
public final void f()
{
q();
l = 0;
a.j = 35;
a.a.j = 5;
q = 550;
a.a.a(aa.a, 0, 0, 1);
aa.a();
}
public final void a(short word0, short word1)
{
v v1;
if((v1 = (v)a(65)) != null)
{
aj aj1 = aa.a(a.a);
v1.b(word0, word1, aj1.a);
switch(aj1.a)
{
case 5: // '\005'
v1.a(0, 800, 400, 768, 36, 32767, 26431, 639);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -