📄 aq.java
字号:
// 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 java.util.Vector;
public class aq
{
class a
{
public int new;
public int int;
public a for;
public byte if;
public byte a;
public byte do;
public a(int j, int k)
{
if = 0;
a = 0;
do = 0;
new = j;
int = k;
}
}
p a;
c if;
a do[][];
Vector for;
Vector int;
public aq(p p1, c c1)
{
for = new Vector();
int = new Vector();
a = p1;
if = c1;
do = new a[a.af][a.ad];
for (byte byte0 = 0; byte0 < a.af; byte0++)
{
for (byte byte1 = 0; byte1 < a.ad; byte1++)
do[byte0][byte1] = new a(byte0, byte1);
}
}
public int[][] a(int j, int k, int l, int i1)
{
int ai[][];
int ai1[][];
for.removeAllElements();
int.removeAllElements();
a a1 = do[j][k];
a1.if = 0;
a1.a = (byte)(Math.abs(a1.new - l) + Math.abs(a1.int - i1));
a1.do = (byte)(a1.if + a1.a);
a1.for = a1;
for.addElement(a1);
ai = (int[][])null;
ai1 = (new int[][] {
new int[] {
0, -1
}, new int[] {
-1, 0
}, new int[] {
1, 0
}, new int[] {
0, 1
}
});
_L2:
try
{
a a2 = if(for);
for.removeElement(a2);
int.addElement(a2);
for (int j1 = 0; j1 < ai1.length; j1++)
{
if (a2.int + ai1[j1][1] < 1 || a2.int + ai1[j1][1] > a.ad - 2 || a2.new + ai1[j1][0] < 1 || a2.new + ai1[j1][0] > a.af - 2)
continue;
a a3 = do[a2.new + ai1[j1][0]][a2.int + ai1[j1][1]];
if (int.contains(a3))
continue;
int ai2[] = a.for(if);
a;
int l1 = a3.new * p.f + (a.do(if) - ai2[0]);
a;
int i2 = a3.int * p.b9 + (a.if(if) - ai2[1]);
if (a.a(l1, i2, ai2[0], ai2[1], (i)if) != 0)
continue;
ai2 = null;
int j2 = a2.if;
if (ai1[j1][0] != 0 && ai1[j1][1] != 0)
j2 += 14;
else
j2 += 10;
if (!for.contains(a3))
{
for.addElement(a3);
a3.for = a2;
a3.if = (byte)j2;
a3.a = (byte)(Math.abs(a3.new - l) + Math.abs(a3.int - i1));
a3.do = (byte)(a3.if + a3.a);
continue;
}
if (j2 < a2.if)
{
a3.for = a2;
a3.if = (byte)j2;
a3.a = (byte)(Math.abs(a3.new - l) + Math.abs(a3.int - i1));
a3.do = (byte)(a3.if + a3.a);
}
}
if (a2.new != l || a2.int != i1)
continue; /* Loop/switch isn't completed */
Vector vector = new Vector();
Vector vector1 = new Vector();
for (; (a2.new != j || a2.int != k) && a2.for != a2; a2 = a2.for)
{
vector.addElement(new Integer(a2.new));
vector1.addElement(new Integer(a2.int));
}
ai = new int[vector.size()][2];
for (int k1 = 0; k1 < vector.size(); k1++)
{
ai[k1][0] = ((Integer)vector.elementAt(k1)).intValue();
ai[k1][1] = ((Integer)vector1.elementAt(k1)).intValue();
}
if (vector != null)
vector = null;
if (vector1 != null)
vector1 = null;
}
catch (Exception exception)
{
exception.printStackTrace();
}
break; /* Loop/switch isn't completed */
if (!for.isEmpty()) goto _L2; else goto _L1
_L1:
return ai;
}
public a if(Vector vector)
{
int j = 0x7fffffff;
a a1 = null;
for (int k = 0; k < vector.size(); k++)
{
byte byte0 = ((a)(a)vector.elementAt(k)).do;
if (j > byte0)
{
a1 = (a)(a)vector.elementAt(k);
j = byte0;
}
}
return a1;
}
public void a(Vector vector)
{
int j = 0x7fffffff;
Object obj = null;
for (int k = 0; k < vector.size(); k++)
{
byte byte0 = ((a)(a)vector.elementAt(k)).do;
if (j > byte0)
{
a a1 = (a)(a)vector.elementAt(k);
j = byte0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -