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

📄 e.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 e
{

    public int a;
    public int b;
    public short a;
    public short b;
    public short c;
    public short d;
    public short e;
    public short f;
    public short g;
    public short h;
    public short i;
    public short j;
    public short k;
    public short l;
    public short m;
    public short n;
    public short o;
    public short p;
    public boolean a;
    public int c;
    public int d;
    public short q;
    public short r;
    public int e;
    public boolean b;

    public e()
    {
        g = (short)aa.o;
        h = (short)aa.p;
        i = g;
        j = h;
        c = 0;
        d = 0;
    }

    public final boolean a()
    {
        return a == e && b == f;
    }

    private void a(int i1, int j1)
    {
        e = (short)i1;
        f = (short)j1;
        d();
    }

    private static int a(int i1, int j1)
    {
        byte byte0 = 3;
        if(i1 > 0 && j1 > 0)
            byte0 = 3;
        if(i1 < 0 && j1 < 0)
            byte0 = 2;
        if(i1 > 0 && j1 < 0)
            byte0 = 0;
        if(i1 < 0 && j1 > 0)
            byte0 = 1;
        return byte0;
    }

    public final void a(o o1, boolean flag)
    {
        switch(aa.a.p)
        {
        case 2: // '\002'
            if(o1.i == 0 && o1.j == 0)
            {
                if(((q) (o1)).j == 24 && !flag)
                    return;
                if(((q) (o1)).j == 25)
                {
                    a(((q) (o1.a)).o - aa.o / 2, ((q) (o1.a)).p - aa.p / 2);
                    return;
                }
                if(((q) (o1)).j == 28)
                {
                    int i1 = o1.x - o1.v;
                    int l1 = o1.y - o1.w;
                    d = a(i1, l1);
                } else
                if(o1.a != null && ((q) (o1)).j == 22)
                {
                    int j1 = 0;
                    int i2 = 0;
                    g g1 = aa.a[1];
                    j1 = (((q) (o1.a)).o + (g1.a[o1.a.a] >> 1)) - ((q) (o1)).o;
                    i2 = (((q) (o1.a)).p + (g1.b[o1.a.a] >> 1)) - ((q) (o1)).p;
                    d = a(j1, i2);
                }
            } else
            {
                d = a(o1.i, o1.j);
            }
            if(d == 3)
                a(((q) (o1)).o - 155, ((q) (o1)).p - 196);
            if(d == 2)
                a(((q) (o1)).o - 195, ((q) (o1)).p - 220);
            if(d == 0)
                a(((q) (o1)).o - 155, ((q) (o1)).p - 220);
            if(d == 1)
                a(((q) (o1)).o - 195, ((q) (o1)).p - 196);
            break;

        case 0: // '\0'
        case 5: // '\005'
            if(o1.i == 0 && o1.j == 0)
            {
                if(o1.a != null)
                {
                    int k1 = ((q) (o1.a)).o - ((q) (o1)).o;
                    int j2 = ((q) (o1.a)).p - ((q) (o1)).p;
                    d = a(k1, j2);
                }
            } else
            {
                d = a(o1.i, o1.j);
            }
            if(d == 3)
                a(((q) (o1)).o - 155, ((q) (o1)).p - 196);
            if(d == 2)
                a(((q) (o1)).o - 195, ((q) (o1)).p - 220);
            if(d == 0)
                a(((q) (o1)).o - 155, ((q) (o1)).p - 220);
            if(d == 1)
                a(((q) (o1)).o - 195, ((q) (o1)).p - 196);
            break;

        case 1: // '\001'
            a(((q) (o1)).o - 110, ((q) (o1)).p - 320);
            break;

        case 4: // '\004'
            a((short)(((z)aa.a.a[9][0]).q - (i >> 1)), (short)(((z)aa.a.a[9][0]).r - (j >> 1)), true);
            break;
        }
        if(flag)
        {
            a = e;
            b = f;
            a = a << 6;
            b = b << 6;
            aa.a.b();
        }
    }

    public final void a()
    {
        d = ((q) (aa.a.a)).a_;
        a(aa.a.a, true);
        q = 0;
        r = 0;
        e = 0;
        a = false;
        c = -1;
        b = false;
    }

    public final void a(q q1, boolean flag)
    {
        a((short)(q1.o - (i >> 1)), (short)(q1.p - (j >> 1)), flag);
    }

    public final void a(short word0, short word1, boolean flag)
    {
        a = true;
        e = word0;
        f = word1;
        if(flag)
        {
            a = word0;
            b = word1;
            a = a << 6;
            b = b << 6;
        }
    }

    public final void a(int i1)
    {
        if(b)
            return;
        int j1 = 7;
        if(c != -1)
            j1 = c;
        c = -1;
        if(!a)
        {
            a(aa.a.a, false);
            if(aa.a.a.h >= j1)
                j1 = aa.a.a.h + 2;
            if(((q) (aa.a.a)).j == 25 && 8 >= j1)
                j1 = 10;
        }
        a = false;
        int k1 = e - a;
        int l1 = f - b;
        if(k1 == 0 && l1 == 0)
        {
            b(i1);
            return;
        }
        int i2 = e << 6;
        int j2 = f << 6;
        int k2 = k1 < 0 ? -k1 : k1;
        int l2 = l1 < 0 ? -l1 : l1;
        int i3 = k2 <= l2 ? l2 : k2;
        k1 = (k1 << 6) / i3;
        l1 = (l1 << 6) / i3;
        j1 *= i1;
        int j3 = k1 * j1 >> 6;
        int k3 = l1 * j1 >> 6;
        if(a < i2)
        {
            a += j3;
            if(a > i2)
                a = i2;
        } else
        if(a > i2)
        {
            a += j3;
            if(a < i2)
                a = i2;
        }
        if(b < j2)
        {
            b += k3;
            if(b > j2)
                b = j2;
        } else
        if(b > j2)
        {
            b += k3;
            if(b < j2)
                b = j2;
        }
        a = (short)(a >> 6);
        b = (short)(b >> 6);
        b(i1);
    }

    private void d()
    {
        q aq[] = aa.a.a[7];
        short word0 = aa.a.c[7];
        int i3 = -1;
        int j3 = 0xf423f;
        int k3 = -1;
        int l3 = 0xf423f;
        int i4 = -1;
        int j4 = 0xf423f;
        int k4 = ((q) (aa.a.a)).o;
        int l4 = ((q) (aa.a.a)).p;
        if(a || ((q) (aa.a.a)).j == 25)
        {
            k4 = e + (i >> 1);
            l4 = f + (j >> 1);
        }
        for(int i5 = 0; i5 < word0; i5++)
        {
            af af1;
            if((af1 = (af)aq[i5]).a != 3)
                continue;
            int l6 = af1.a[0];
            int i7;
            int i1 = aa.a(i7 = af1.a[1]) - aa.a(l6);
            int i2 = aa.b(i7) - aa.b(l6);
            int j7 = i1 >= 0 ? i1 : -i1;
            int k7 = i2 >= 0 ? i2 : -i2;
            if(j7 > k7)
            {
                if((aa.a(l6) > k4 || k4 > aa.a(i7)) && (aa.a(i7) > k4 || k4 > aa.a(l6)))
                    continue;
                int l7 = aa.b(l6) + ((k4 - aa.a(l6)) * (aa.b(i7) - aa.b(l6))) / (aa.a(i7) - aa.a(l6));
                int j8;
                if(l4 <= l7 && (j8 = l7 - l4) < j4)
                {
                    j4 = j8;
                    i4 = i5;
                }
                continue;
            }
            if((aa.b(l6) > l4 || l4 > aa.b(i7)) && (aa.b(i7) > l4 || l4 > aa.b(l6)))
                continue;
            int i8 = aa.a(l6) + ((l4 - aa.b(l6)) * (aa.a(i7) - aa.a(l6))) / (aa.b(i7) - aa.b(l6));
            int k8;
            if((k8 = k4 - i8) < 0)
                k8 = -k8;
            if(i2 > 0)
            {
                if(k4 >= i8 && k8 < j3)
                {
                    j3 = k8;
                    i3 = i5;
                }
                continue;
            }
            if(k4 <= i8 && k8 < l3)
            {
                l3 = k8;
                k3 = i5;
            }
        }

        if(k3 != -1)
        {
            int j5 = ((af)aq[k3]).a[0];
            int i6;
            int j1 = aa.a(i6 = ((af)aq[k3]).a[1]) - aa.a(j5);
            int j2 = aa.b(i6) - aa.b(j5);
            if(((e + i) - aa.a(j5)) * j2 - ((f + j) - aa.b(j5)) * j1 < 0)
                e = (short)((aa.a(j5) + (((f + j) - aa.b(j5)) * j1) / j2) - i);
        }
        if(i4 != -1)
        {
            int k5 = ((af)aq[i4]).a[0];
            int j6;
            int k1 = aa.a(j6 = ((af)aq[i4]).a[1]) - aa.a(k5);
            int k2 = aa.b(j6) - aa.b(k5);
            if((e - aa.a(k5)) * k2 - ((f + j) - aa.b(k5)) * k1 < 0)
            {
                f = (short)((aa.b(k5) + ((e - aa.a(k5)) * k2) / k1) - j);
                return;
            }
        }
        if(i3 != -1)
        {
            int l5 = ((af)aq[i3]).a[0];
            int k6;
            int l1 = aa.a(k6 = ((af)aq[i3]).a[1]) - aa.a(l5);
            int l2 = aa.b(k6) - aa.b(l5);
            if((e - aa.a(l5)) * l2 - (f - aa.b(l5)) * l1 < 0)
            {
                e = (short)(aa.a(l5) + ((f - aa.b(l5)) * l1) / l2);
                return;
            }
        }
    }

    private void b(int i1)
    {
        e += i1;
        if(q != 0)
        {
            a += q;
            if(e > 40)
            {
                q = (short)(-q);
                q >>= 1;
            }
        }
        if(r != 0)
        {
            b += r;
            if(e > 40)
            {
                r = (short)(-r);
                r >>= 1;
            }
        }
        if(e > 40)
            e = 0;
    }

    public final void b()
    {
        k = a;
        l = b;
        m = c;
        n = d;
        o = i;
        p = j;
    }

    public final void a(short word0, short word1, short word2, short word3, short word4, short word5)
    {
        a = word0;
        b = word1;
        i = word2;
        j = word3;
        c = word4;
        d = word5;
    }

    public final void c()
    {
        a = k;
        b = l;
        c = m;
        d = n;
        i = o;
        j = p;
    }

    public final void a(short word0, short word1)
    {
        q = word0;
        r = word1;
        e = 0;
    }
}

⌨️ 快捷键说明

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