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

📄 ab.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 ab extends z
{

    public int a[];
    public boolean a;
    public byte a;
    public int a;
    public int b;
    public int c;
    public int d;
    public int e;
    public af a;
    public int f;
    public short a;
    public int g;
    public boolean b;
    public static z a[];
    public short b;
    public boolean c;

    public ab()
    {
        super((byte)9);
        c = 0;
        a = null;
        c = true;
        f = 0;
        i();
    }

    public final void a(short word0, short word1, byte byte0)
    {
        super.a(word0, word1, byte0);
        a = aa.a();
        a = new int[3];
        for(int k = 0; k < 3; k++)
            a[k] = aa.a();

        super.a = aa.a((byte)9, a);
        if(a == 2)
            j();
    }

    private q a(int k)
    {
        int l;
        int i1 = (l = super.d[k] & 0xffff) & 0xfff;
        int j1 = l >> 12;
        return aa.a.a[j1][i1];
    }

    public final void c()
    {
        a();
        if(a == 0)
            super.j = 1;
    }

    private static void i()
    {
        if(a != null)
            return;
        a = new z[10];
        ad ad1;
        (ad1 = new ad()).a = aa.a[16];
        ad1.a = aa.a[12];
        for(int k = 0; k < 10; k++)
        {
            z z1;
            (z1 = a[k] = new z((byte)0)).a = ad1;
        }

    }

    private void j()
    {
        for(int k = 0; k < 10; k++)
        {
            z z1;
            (z1 = a[k]).d(3);
            z1.k = (byte)aa.b(0, 3);
            z1.b();
        }

        a[0].o = super.o;
        a[0].p = (short)(p - 4);
        a[1].o = (short)(super.o - 4);
        a[1].p = (short)(p - 10);
        a[2].o = (short)(super.o - 10);
        a[2].p = (short)(p - 12);
        a[3].o = (short)(super.o + 1);
        a[3].p = (short)(p - 15);
        a[4].o = (short)(super.o - 12);
        a[4].p = (short)(p - 6);
        a[5].o = (short)(super.o - 6);
        a[5].p = (short)(p - 4);
        a[6].o = super.o;
        a[6].p = p;
        a[7].o = (short)(super.o + 3);
        a[7].p = (short)(p - 9);
        a[8].o = (short)(super.o + 4);
        a[8].p = (short)(p - 9);
        a[9].o = (short)(super.o + 10);
        a[9].p = (short)(p - 7);
    }

    private void b(int k)
    {
        b = true;
        for(int l = 0; l < 10; l++)
        {
            z z1;
            (z1 = a[l]).a(3, k);
        }

    }

    private static void d(e e1)
    {
        for(int k = 0; k < 10; k++)
        {
            z z1;
            (z1 = a[k]).b(e1);
        }

    }

    private boolean a(int k, int l, int i1)
    {
        int j1 = aa.a(l) - aa.a(k);
        int k1 = aa.b(l) - aa.b(k);
        if(q.a(j1) >= q.a(k1))
        {
            k1 = (k1 << 6) / q.a(j1);
            if(j1 > 0)
                j1 = 64;
            else
                j1 = -64;
        } else
        {
            j1 = (j1 << 6) / q.a(k1);
            if(k1 > 0)
                k1 = 64;
            else
                k1 = -64;
        }
        int l1 = 128 * i1 >> 6;
        d += j1 * l1 >> 6;
        e += k1 * l1 >> 6;
        super.o = (short)(d >> 6);
        p = (short)(e >> 6);
        int i2 = q.a(aa.a(l) - aa.a(k)) + q.a(aa.b(l) - aa.b(k));
        int j2;
        if((j2 = q.a(super.o - aa.a(k)) + q.a(p - aa.b(k))) >= i2)
        {
            super.o = aa.a(l);
            p = aa.b(l);
            return true;
        } else
        {
            return false;
        }
    }

    private boolean a(int k)
    {
        c -= k;
        if(c < 0)
        {
            c = 0;
            return true;
        } else
        {
            return false;
        }
    }

    public final void a(int k)
    {
        switch(a)
        {
        default:
            break;

        case 0: // '\0'
            c(k);
            return;

        case 2: // '\002'
            e(k);
            return;

        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
            f(k);
            return;

        case 1: // '\001'
            if(((q) (aa.a.a)).j == 29 && aa.a.a.a == this)
                aa.a.a.a(this, true);
            break;
        }
    }

    private void c(int k)
    {
        a(0, k);
        h h1 = (h)a(1);
        e e1 = aa.a.a;
        o o1 = aa.a.a;
        switch(super.j)
        {
        default:
            break;

        case 0: // '\0'
            return;

        case 1: // '\001'
            if(b == a.a - 1)
            {
                if(a == b - 1)
                {
                    e1.a(this, false);
                    a(k);
                    break;
                }
                if(super.o == aa.a(a.a[a]) && p == aa.b(a.a[a]) && a == b)
                {
                    a = true;
                    super.j = 0;
                    return;
                }
            }
            if(a(k))
            {
                h1.j = 2;
                h1.g = 0;
                o1.j = 15;
                super.j = 2;
                return;
            }
            e1.a(this, false);
            break;

        case 2: // '\002'
            aa.a.f = 18;
            o1.a_ = o1.a(((q) (h1)).o - ((q) (o1)).o, ((q) (h1)).p - ((q) (o1)).p);
            int l = (((q) (h1)).o + ((q) (o1)).o >> 1) - (e1.i >> 1);
            int i1 = (((q) (h1)).p + ((q) (o1)).p >> 1) - (e1.j >> 1);
            e1.a((short)l, (short)i1, false);
            return;
        }
        if(super.o == aa.a(a.a[a]) && p == aa.b(a.a[a]) && a == b)
            return;
        if(b <= a)
        {
            if(a(a.a[a + 1], a.a[a], k) && b < a)
            {
                a--;
                return;
            }
        } else
        if(a(a.a[a], a.a[a + 1], k))
        {
            a++;
            if(a == a.a - 1)
                a = true;
        }
    }

    private void e(int k)
    {
        if(b != aa.a.a && a(k))
        {
            aa.e(11);
            aa.d(18);
            return;
        }
        short aword0[] = aa.a.e;
        b = false;
        boolean flag = false;
        switch(super.j)
        {
        case 0: // '\0'
            b(k);
            a(super.a.a, k);
            if(a == aa.a.a)
                a = true;
            else
            if(a < b)
            {
                super.j = 1;
                g = 0;
            } else
            if(a > b)
            {
                super.j = 4;
                aa.b();
            }
            break;

        case 1: // '\001'
            b(k);
            g += 640 * k >> 6;
            if(g >= aa.p << 5)
            {
                super.j = 2;
                aa.c(2);
            }
            break;

        case 2: // '\002'
            a(super.a.h, k);
            if(c())
            {
                f = 0;
                super.j = 3;
            }
            break;

        case 3: // '\003'
            b(k);
            a(super.a.a, k);
            f += k;
            a = (short)(a(aword0[a], aword0[a + 1], f) & 0xffff);
            if(a == aword0[a + 1])
            {
                a++;
                super.j = 0;
            }
            break;

        case 4: // '\004'
            boolean flag1;
            if((flag1 = a(super.a.j, k)) && super.k == 0)
                aa.a.a.a((short)4, (short)-4);
            if(c())
                super.j = 0;
            break;
        }
        if(b < 0)
        {
            b += 8 * k >> 6;
            if(b > 0)
            {
                b = 0;
                return;
            }
        } else
        if(b > 0)
        {
            b -= 8 * k >> 6;
            if(b < 0)
                b = 0;
        }
    }

    private void f(int k)
    {
        if(super.j == 0)
        {
            a(super.a.a, k);
            return;
        }
        if(super.j == 1)
        {
            a(super.a.e, k);
            if(c())
            {
                super.j = 2;
                f = 0;
                return;
            }
        } else
        if(super.j == 2)
        {
            f += k;
            if(f > 2000)
            {
                super.j = 3;
                f = 0;
            }
        }
    }

    public final void b(e e1)
    {
        if(aa.k == 18)
            return;
        switch(a)
        {
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
            if(super.j == 3 || super.j == 2 && (f / 200 & 0x1) != 0)
            {
                return;
            } else
            {
                super.b(e1);
                return;
            }

        case 2: // '\002'
            super.b(e1);
            if(b)
                d(e1);
            break;

        default:
            super.b(e1);
            break;
        }
        if(a == 0 && super.j == 2)
            return;
        if(((q) (aa.a.a)).j != 29 && !a)
        {
            g g1 = aa.a[9];
            t t1 = new t();
            a(t1);
            if(aa.a.m < 128)
            {
                g1.a(16, super.o - (g1.a[16] >> 1), t1.b - 4 - g1.b[16], 0, e1, 0);
                return;
            }
            g1.a(16, super.o - (g1.a[16] >> 1), t1.b - 8 - g1.b[16], 0, e1, 0);
        }
    }

    public final void c(e e1)
    {
        g g1 = aa.a[23];
        byte byte0 = aa.a.a[a];
        g1.a(byte0, (aa.o >> 1) - 5, (g >> 6) - 20, 0, e1, true, 0);
    }

    public final void a()
    {
        a = false;
        c = true;
        switch(a)
        {
        case 0: // '\0'
            c = 12000;
            a = (af)a(0);
            b = a = 0;
            int k = a.a[a];
            super.o = aa.a(k);
            p = aa.b(k);
            d = super.o << 6;
            e = p << 6;
            super.j = 0;
            return;

        case 1: // '\001'
            d(super.a.h);
            return;

        case 2: // '\002'
            d(0);
            super.j = 0;
            a = 0;
            b = 0;
            a = aa.a.e[a];
            c = aa.a.r;
            return;

        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
            super.o = super.q;
            p = r;
            d = super.o << 6;
            e = p << 6;
            E = 1;
            super.j = 0;
            break;
        }
    }

    public final void d()
    {
        if(a)
            return;
        switch(a)
        {
        case 0: // '\0'
            b++;
            if(b >= a.a)
            {
                b = a.a - 1;
                return;
            } else
            {
                aa.c(1);
                return;
            }

        case 1: // '\001'
            if(!d())
            {
                a = true;
                return;
            } else
            {
                aa.c(3);
                return;
            }

        case 2: // '\002'
            b++;
            if(b > aa.a.a)
            {
                b = aa.a.a;
                return;
            }
            b += aa.a[23].a[5 + aa.a.a[a]];
            if(b == aa.a.a)
                c = false;
            break;
        }
    }

    public final void e()
    {
        if(a)
            return;
        switch(a)
        {
        default:
            break;

        case 0: // '\0'
            aa.b();
            b--;
            if(b < 0)
            {
                b = 0;
                return;
            }
            break;

        case 1: // '\001'
            aa.b();
            if(e())
            {
                aa.c(3);
                return;
            }
            break;

        case 2: // '\002'
            aa.b();
            a--;
            if(a < 0)
                a = 0;
            else
                b -= aa.a[23].a[5 + aa.a.a[a]];
            b = a;
            super.j = 4;
            break;
        }
    }

    public final void a_()
    {
        switch(a)
        {
        default:
            break;

        case 0: // '\0'
            super.a_();
            return;

        case 1: // '\001'
            if(a != null && a)
            {
                ai ai1 = aa.a;
                a.a(ai1.f, ai1.g, ai1.f + 512, ai1.g + 512);
            }
            break;
        }
    }

    private static int a(int k, int l, int i1)
    {
        if(i1 >= 256)
        {
            return l;
        } else
        {
            int j1 = k >> 10 & 0x1f;
            int k1 = k >> 5 & 0x1f;
            int l1 = k & 0x1f;
            int i2 = l >> 10 & 0x1f;
            int j2 = l >> 5 & 0x1f;
            int k2 = l & 0x1f;
            byte byte0 = (byte)(j1 + ((i2 - j1) * i1 >> 8));
            byte byte1 = (byte)(k1 + ((j2 - k1) * i1 >> 8));
            byte byte2 = (byte)(l1 + ((k2 - l1) * i1 >> 8));
            int l2;
            return l2 = byte0 << 10 | byte1 << 5 | byte2;
        }
    }

    public final void a(short word0)
    {
        switch(a)
        {
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
            E -= word0;
            if(E <= 0)
                super.j = 1;
            break;
        }
    }

    public final void f()
    {
        switch(a)
        {
        case 0: // '\0'
            a = (af)a(0);
            b = a = a.a - 1;
            int k = a.a[a];
            super.o = aa.a(k);
            p = aa.b(k);
            d = super.o << 6;
            e = p << 6;
            return;

        case 1: // '\001'
            d(super.a.h);
            h();
            break;
        }
    }
}

⌨️ 快捷键说明

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