⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d.java

📁 哈利波特与凤凰令的一个小游戏
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 


public final class d
{

    public short a;
    public short b;
    public int a;
    public int b;
    public int c;
    public int d;
    public k a;
    public int e;
    public int f;
    public int g;
    public int h;
    public int i;
    public int j;
    public int k;
    public int l;
    public int m;
    public boolean a;
    public byte a;
    public int n;
    public int o;
    public s a;
    public int p;
    public int q;
    public int r;
    public int s;
    public int t;
    public int u;
    public int v;
    public int w;
    public int x;
    public int y;
    public int z;
    public int A;
    public static int a[] = new int[4];

    public d()
    {
    }

    public final void a(k k1, int i1, int j1, int l1)
    {
        a = k1;
        if(aa.a != null)
            a = aa.a.a;
        j = 0;
        k = 0;
        if(aa.a != null && aa.a.p == 1)
            k += 30;
        h = (aa.o >> 1) - 88;
        i = (aa.p >> 1) - 101;
        e = i1;
        c = j1;
        d = l1;
        if(i1 == -1)
        {
            a = (short)((aa.o >> 1) + j);
            b = (short)((aa.p >> 1) + k);
        } else
        {
            a = (short)(aa.a(k1.a[i1]) + h + j);
            b = (short)(aa.b(k1.a[i1]) + i + k);
        }
        a = a << 6;
        b = b << 6;
        q = 0;
        m = 500;
        o = 5;
        f = 0;
        p = 0;
        r = 100;
        s = -1;
    }

    private void a()
    {
        e e1 = aa.a;
        f = 0;
        int i1 = (e1.i >> 1) + j;
        int j1 = (e1.j >> 1) + k;
        if(b <= j1 - 27)
        {
            n = a(3);
            if(n != -1)
            {
                f = 3;
                return;
            }
        } else
        if(b >= (j1 + 27) - 3)
        {
            n = a(4);
            if(n != -1)
            {
                f = 4;
                return;
            }
        }
        if(a <= (i1 - 27) + 3)
        {
            n = a(1);
            if(n != -1)
            {
                f = 1;
                return;
            }
        } else
        if(a >= (i1 + 27) - 3)
        {
            n = a(2);
            if(n != -1)
            {
                f = 2;
                return;
            }
        }
    }

    private int a(int i1)
    {
        e e1;
        int j1 = ((e1 = aa.a.a).i >> 1) + j;
        int k1 = (e1.j >> 1) + k;
        int l1 = -1;
        int i2 = -1;
        if(i1 == 3)
        {
            l1 = j1;
            i2 = k1 - 27 - 15;
        } else
        if(i1 == 4)
        {
            l1 = j1;
            i2 = k1 + 27 + 15;
        } else
        if(i1 == 1)
        {
            l1 = j1 - 27 - 15;
            i2 = k1;
        } else
        if(i1 == 2)
        {
            l1 = j1 + 27 + 15;
            i2 = k1;
        }
        if(l1 != -1 || i2 != -1)
        {
            if((a - l1) * (a - l1) + (b - i2) * (b - i2) <= 49)
                return 2;
            if((a - l1) * (a - l1) + (b - i2) * (b - i2) <= 225)
                return 1;
        }
        return -1;
    }

    public final void a(int i1)
    {
        if(f == 0)
            p = 0;
        g = f;
        if(e == -1)
            c(i1);
        else
            b(i1);
        a();
        m += i1;
        if(m >= 500)
            m = 500;
        o++;
        if(o > 13)
            o = 10;
    }

    public final void a(e e1)
    {
        g g1 = aa.a[9];
        int i1 = (e1.i - 31 >> 1) + j;
        int j1 = (e1.j - 31 >> 1) + k;
        byte byte0 = 0;
        if(m < 500)
            byte0 = a ? 1 : 3;
        g1.a(22 + byte0, i1, j1, 0, e1, true, 0);
    }

    public final void a(e e1, boolean flag)
    {
        g g1 = aa.a[9];
        int i1 = (e1.i >> 1) + j;
        int j1 = (e1.j >> 1) + k;
        if(flag)
        {
            byte byte0 = 0;
            byte byte1 = 0;
            byte byte2 = 0;
            byte byte3 = 0;
            if(m < 500)
                if(a)
                {
                    byte0 = l != 1 ? 0 : a;
                    byte1 = l != 2 ? 0 : a;
                    byte2 = l != 3 ? 0 : a;
                    byte3 = l != 4 ? 0 : a;
                } else
                {
                    byte0 = 3;
                    byte1 = 3;
                    byte2 = 3;
                    byte3 = 3;
                }
            int k1 = i1 - 27 - 31;
            int l1 = j1 - 15;
            g1.a(22 + byte0, k1, l1, 0, e1, true, 0);
            k1 = i1 + 27;
            l1 = j1 - 15;
            g1.a(22 + byte1, k1, l1, 0, e1, true, 0);
            k1 = i1 - 15;
            l1 = j1 - 27 - 31;
            g1.a(22 + byte2, k1, l1, 0, e1, true, 0);
            k1 = i1 - 15;
            l1 = j1 + 27;
            g1.a(22 + byte3, k1, l1, 0, e1, true, 0);
        }
        short word0 = a;
        short word1 = b;
        g1.a(10, word0 - 30, word1 - 2, 0, e1, true, 0);
        g g2 = aa.a[2];
        if(m < 500 && a)
        {
            g2.a(0, o, (word0 + e1.a) - 18, (word1 + e1.b) - 17, 4, e1);
            return;
        }
        if(m < 500 && !a)
        {
            return;
        } else
        {
            g2.a(0, o, (word0 + e1.a) - 18, (word1 + e1.b) - 17, 2, e1);
            return;
        }
    }

    private void b(int i1)
    {
        int j1 = a.a;
        int k1 = (a.a[e] * r) / 100;
        if(d == -1)
            k1 = (a.a[((j1 + e) - 1) % j1] * r) / 100;
        for(q += i1; q >= k1;)
        {
            q -= k1;
            e += d;
            e = (j1 + e) % j1;
        }

        int l1 = a(e, q, k1);
        a = aa.a(l1);
        b = aa.b(l1);
        a = (short)(a >> 6);
        b = (short)(b >> 6);
    }

    private static int a(int i1, int j1)
    {
        return i1 * j1 >> 6;
    }

    private static int b(int i1)
    {
        return i1 << 1;
    }

    private static int c(int i1)
    {
        return (i1 << 1) + i1;
    }

    private static int d(int i1)
    {
        return i1 << 2;
    }

    private static int e(int i1)
    {
        return (i1 << 2) + i1;
    }

    private int a(int i1, int j1, int k1)
    {
        if(s != i1)
        {
            s = i1;
            int l1 = a.a;
            if(d == 1)
            {
                a[0] = a.a[((l1 + i1) - 1) % l1];
                a[1] = a.a[(l1 + i1) % l1];
                a[2] = a.a[(l1 + i1 + 1) % l1];
                a[3] = a.a[(l1 + i1 + 2) % l1];
            } else
            {
                a[0] = a.a[(l1 + i1 + 1) % l1];
                a[1] = a.a[(l1 + i1) % l1];
                a[2] = a.a[((l1 + i1) - 1) % l1];
                a[3] = a.a[((l1 + i1) - 2) % l1];
            }
            t = ((-aa.a(a[0]) + c(aa.a(a[1]))) - c(aa.a(a[2]))) + aa.a(a[3]) << 5;
            u = ((b(aa.a(a[0])) - e(aa.a(a[1]))) + d(aa.a(a[2]))) - aa.a(a[3]) << 5;
            v = -aa.a(a[0]) + aa.a(a[2]) << 5;
            w = b(aa.a(a[1])) << 5;
            x = ((-aa.b(a[0]) + c(aa.b(a[1]))) - c(aa.b(a[2]))) + aa.b(a[3]) << 5;
            y = ((b(aa.b(a[0])) - e(aa.b(a[1]))) + d(aa.b(a[2]))) - aa.b(a[3]) << 5;
            z = -aa.b(a[0]) + aa.b(a[2]) << 5;
            A = b(aa.b(a[1])) << 5;
        }
        int i2 = (j1 << 6) / k1;
        int j2;
        return j2 = aa.a((short)(a(a(a(t, i2) + u, i2) + v, i2) + w + (j + h << 6)), (short)(a(a(a(x, i2) + y, i2) + z, i2) + A + (k + i << 6)));
    }

    private void c(int i1)
    {
        int j1;
        int k1;
        int l1;
        int i2;
        int k2;
        int l2;
        int i3;
        int j3;
        int k3;
        j1 = (aa.o >> 1) + j << 6;
        k1 = (aa.p >> 1) + k << 6;
        l1 = aa.a(a.a[c]) + h + j << 6;
        i2 = aa.b(a.a[c]) + i + k << 6;
        int j2 = 192 * i1 >> 6;
        k2 = l1 - j1;
        l2 = i2 - k1;
        if(k2 == 0 && l2 == 0)
            break MISSING_BLOCK_LABEL_323;
        i3 = j2;
        j3 = k2 >= 0 ? k2 : -k2;
        k3 = l2 >= 0 ? l2 : -l2;
        if(j3 <= k3) goto _L2; else goto _L1
_L1:
        a += k2 < 0 ? -i3 : i3;
        this;
        b;
        (i3 * l2) / j3;
          goto _L3
_L2:
        a += (i3 * k2) / k3;
        this;
        b;
        l2 < 0 ? -i3 : i3;
_L3:
        JVM INSTR iadd ;
        b;
        int l3 = (a - j1) * (a - j1) + (b - k1) * (b - k1);
        int i4 = (l1 - j1) * (l1 - j1) + (i2 - k1) * (i2 - k1);
        if(l3 > i4)
        {
            a = l1;
            b = i2;
            e = c;
            q = 0;
        }
        break MISSING_BLOCK_LABEL_346;
        a = j1;
        b = k1;
        e = c;
        q = 0;
        a = (short)(a >> 6);
        b = (short)(b >> 6);
        return;
    }

    private void a(int i1, boolean flag)
    {
        l = i1;
        m = 0;
        a = flag;
    }

    public final int a()
    {
        int i1 = -1;
        if(aa.a(16))
        {
            i1 = f;
            aa.b(16);
        }
        if(i1 == -1)
            return 0;
        if(m < 500 && l == i1)
            return 0;
        if(i1 == f && f != 0)
        {
            a(i1, true);
            a = (byte)n;
            if(aa.a.p == 1 && ((q) (aa.a.a)).j == 16)
                if(n == 1)
                    a.a(a - 6, b - 8, 8, 30, 700, 4, 10);
                else
                    a.a(a - 6, b - 8, 25, 30, 700, 4, 10);
            p = 1;
            return 1;
        } else
        {
            p = -1;
            a(i1, false);
            return -1;
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -