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

📄 ai.java

📁 哈利波特与凤凰令的一个小游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

    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 + -