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

📄 g.java

📁 哈利波特与凤凰令的一个小游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        if(a != null && a == null && a[i] != null)
        {
            aa.a.drawRegion(a[i + i1 * a], i2, j2, j1, l1, b[l], j, k, 20);
            return;
        }
        byte byte0 = 1;
        int k2 = a[i];
        if((l & 0x1) != 0)
        {
            i2 = a[i] - 1 - i2;
            byte0 = -1;
        }
        if((l & 0x2) != 0)
        {
            j2 = b[i] - 1 - j2;
            k2 = -k2;
        }
        int l2 = a;
        if(i1 != 0)
            l2 += b * i1;
        int i3 = i2 + j2 * a[i] + a[i];
        int j3 = j + k * e1.i;
        int k3 = j1;
        for(; l1 != 0; l1--)
        {
            for(int k1 = k3; k1 != 0; k1--)
            {
                int l3;
                if((l3 = a[i3] & 0xff) != 0)
                    c[j3] = d | l3 + l2 & 0xffff;
                i3 += byte0;
                j3++;
            }

            i3 += k2 - k3 * byte0;
            j3 += e1.i - k3;
        }

    }

    public final void b(int i, int j, int k, int l, e e1, int i1)
    {
        int j1;
        int k1 = (j1 = j - e1.a) + a[i];
        int l1;
        int i2 = (l1 = k - e1.b) + b[i];
        int j2 = 0;
        int k2 = a[i];
        int l2 = 0;
        int i3 = b[i];
        if(j1 < 0)
        {
            j2 = -j1;
            j1 = 0;
            if(j2 >= k2)
                return;
        }
        if(l1 < 0)
        {
            l2 = -l1;
            l1 = 0;
            if(l2 >= i3)
                return;
        }
        if(k1 > e1.i)
        {
            k2 -= k1 - e1.i;
            k1 = e1.i;
            if(j2 >= k2)
                return;
        }
        if(i2 > e1.j)
        {
            i3 -= i2 - e1.j;
            i2 = e1.j;
            if(l2 >= i3)
                return;
        }
        int k7 = a;
        if(i1 != 0)
            k7 += b * i1;
        byte byte1;
        byte byte0 = byte1 = 1;
        int j6 = i2 - l1;
        int i7 = k1 - j1;
        int j4 = j1 + l1 * e1.i;
        int k4 = a[i];
        if((l & 0x1) != 0)
        {
            int j3 = j2;
            j2 = a[i] - k2;
            k2 = a[i] - j3;
            byte0 = -1;
            j4 += i7 - 1;
        }
        if((l & 0x2) != 0)
        {
            l2 = b[i] - i3;
            byte1 = -1;
            j4 += (j6 - 1) * e1.i;
        }
        int k3 = e1.i * byte1;
        int l3 = (e1.i - i7) * byte1;
        int i4 = i7 * byte1 << 1;
        boolean flag = byte1 * byte0 < 0;
        for(int j7 = 0; j7 < l2; j7++)
        {
            int l4 = a[k4++] & 0xff;
            int k5 = a[k4++] & 0xff;
            k4 += k5 - l4;
        }

        if(a[i])
        {
            for(int k6 = l1; k6 < i2; k6++)
            {
                int i5 = a[k4++] & 0xff;
                int l5 = a[k4++] & 0xff;
                if(i5 > k2 || l5 < j2)
                {
                    j4 += k3;
                    k4 += l5 - i5;
                } else
                {
                    if(i5 > j2)
                    {
                        j4 += (i5 - j2) * byte0;
                    } else
                    {
                        k4 += j2 - i5;
                        i5 = j2;
                    }
                    for(; i5 < l5 && i5 < k2; i5++)
                    {
                        int l7;
                        if(c[j4] == 0 && (l7 = a[k4] & 0xff) != 0)
                            c[j4] = d | l7 + k7;
                        k4++;
                        j4 += byte0;
                    }

                    if(l5 > k2)
                        k4 += l5 - k2;
                    else
                        j4 += (k2 - l5) * byte0;
                    j4 += l3;
                    if(flag)
                        j4 += i4;
                }
            }

        } else
        {
            for(int l6 = l1; l6 < i2; l6++)
            {
                int j5 = a[k4++] & 0xff;
                int i6 = a[k4++] & 0xff;
                if(j5 > k2 || i6 < j2)
                {
                    j4 += k3;
                    k4 += i6 - j5;
                    continue;
                }
                if(j5 > j2)
                {
                    j4 += (j5 - j2) * byte0;
                } else
                {
                    k4 += j2 - j5;
                    j5 = j2;
                }
                for(; j5 < i6 && j5 < k2; j5++)
                {
                    if(c[j4] == 0)
                    {
                        int i8 = a[k4] & 0xff;
                        c[j4] = d | i8 + k7;
                    }
                    k4++;
                    j4 += byte0;
                }

                if(i6 > k2)
                    k4 += i6 - k2;
                else
                    j4 += (k2 - i6) * byte0;
                j4 += l3;
                if(flag)
                    j4 += i4;
            }

        }
    }

    public final void a(int i, int j, int k, int l, int i1, e e1)
    {
        int j1 = k - e1.a;
        int k1 = l - e1.b;
        if(i == 0)
            if(j < 4)
            {
                return;
            } else
            {
                int l1 = (i1 * 6 + ((j >> 1) - 2)) * a[i];
                aa.a.drawRegion(a[i], l1, 0, a[i], b[i], 0, j1, k1, 20);
                aa.a.drawRegion(a[i], l1, 0, a[i], b[i], 2, j1 + a[i], k1, 20);
                aa.a.drawRegion(a[i], l1, 0, a[i], b[i], 1, j1, k1 + b[i], 20);
                aa.a.drawRegion(a[i], l1, 0, a[i], b[i], 3, j1 + a[i], k1 + b[i], 20);
                return;
            }
        if(j < 2)
        {
            return;
        } else
        {
            int i2 = (i1 * 7 + ((j >> 1) - 1)) * a[i];
            aa.a.drawRegion(a[i], i2, 0, a[i], b[i], 0, j1, k1, 20);
            aa.a.drawRegion(a[i], i2, 0, a[i], b[i], 2, (j1 + a[i]) - 1, k1, 20);
            aa.a.drawRegion(a[i], i2, 0, a[i], b[i], 1, j1, (k1 + b[i]) - 1, 20);
            aa.a.drawRegion(a[i], i2, 0, a[i], b[i], 3, (j1 + a[i]) - 1, (k1 + b[i]) - 1, 20);
            return;
        }
    }

    public final void a(int i, int j, int k, int l, int i1, int j1, e e1)
    {
        if(k == 0)
            return;
        l -= e1.a;
        i1 -= e1.b;
        int k1 = a[i];
        int l1 = b[i];
        int i2 = k1;
        int j2 = l1;
        int k2 = 0;
        int l2 = 0;
        if(l < 0)
        {
            k2 = -l;
            k1 += l;
            l = 0;
            if(k1 <= 0)
                return;
        }
        if(i1 < 0)
        {
            l2 = -i1;
            l1 += i1;
            i1 = 0;
            if(l1 <= 0)
                return;
        }
        if(l + k1 > e1.i && (k1 = e1.i - l) <= 0)
            return;
        if(i1 + l1 > e1.j && (l1 = e1.j - i1) <= 0)
            return;
        byte byte0 = 1;
        byte byte1 = 1;
        if((j1 & 0x1) != 0)
            byte0 = -1;
        if((j1 & 0x2) != 0)
        {
            l2 = j2 - 1 - l2;
            byte1 = -1;
        }
        int i3 = byte1 * i2;
        int j3 = l2 * i2 + a[i];
        int k3 = l + i1 * e1.i;
        k = 255 - k;
        int k5 = j << 8;
        short aword0[] = b[i];
        short aword1[] = a[i];
        for(; l1 != 0; l1--)
        {
            int k4;
            int l4;
            if(byte0 < 0)
            {
                k4 = i2 - 1 - aword0[l2];
                l4 = i2 - 1 - aword1[l2];
            } else
            {
                k4 = aword1[l2];
                l4 = aword0[l2];
            }
            if(k4 < k2)
                k4 = k2;
            if(l4 >= k2 + k1)
                l4 = (k2 + k1) - 1;
            int i5 = j3 + k4;
            if(byte0 < 0)
                i5 = (j3 + i2) - 1 - k4;
            int j5 = (k3 + k4) - k2;
            for(int l3 = k4; l3 <= l4; l3++)
            {
                int l5;
                if((l5 = (l5 = a[i5] & 0xff) - k) > 1)
                {
                    int i4;
                    int j4 = (i4 = c[j5]) >> 16;
                    int i6;
                    if((i6 = ((l5 = aa.a[l5 + k5]) & 0x7c00) + (j4 & 0x7c00)) > 31744)
                        i6 = 31744;
                    int j6;
                    if((j6 = (l5 & 0x3e0) + (j4 & 0x3e0)) > 992)
                        j6 = 992;
                    int k6;
                    if((k6 = (l5 & 0x1f) + (j4 & 0x1f)) > 31)
                        k6 = 31;
                    c[j5] = (i6 | j6 | k6) << 16 | i4 & 0xffff;
                }
                i5 += byte0;
                j5++;
            }

            l2 += byte1;
            j3 += i3;
            k3 += e1.i;
        }

    }

    public final void a(int i, int j, int k, int l, e e1, boolean flag, int i1)
    {
        if(!flag)
        {
            j -= e1.a;
            k -= e1.b;
        }
        if(a == null && a == null)
        {
            a(i, j, k, l);
            return;
        } else
        {
            aa.a.drawRegion(a[i + i1 * a], 0, 0, a[i], b[i], b[l], j, k, 20);
            return;
        }
    }

    public static void a(int i, int j)
    {
        int k = 0;
        for(; j > 0; j--)
        {
            for(int i1 = i; i1 > 0;)
            {
                int j1;
                if((j1 = c[k] & 0xffff) == 0)
                {
                    c[k] = 0;
                } else
                {
                    int l = c[k] >> 16;
                    j1 = aa.b[j1];
                    c[k] = aa.c[((j1 >> 10 & 0x1f) << 5) + (l >> 10 & 0x1f)] << 19 | aa.c[((j1 >> 5 & 0x1f) << 5) + (l >> 5 & 0x1f)] << 11 | aa.c[((j1 & 0x1f) << 5) + (l & 0x1f)] << 3;
                }
                i1--;
                k++;
            }

        }

    }

    private void a(int i, int j, int k, int l, int i1, int ai[], int j1)
    {
        short word0 = a[i];
        short word1 = b[i];
        boolean flag = false;
        boolean flag1 = true;
        if(HarryMidlet.a.numAlphaLevels() < 3)
            flag1 = false;
        j = 15 - j;
        int l1 = l * j1 + k;
        int i2 = 0;
        for(int j2 = 0; j2 < word1; j2++)
        {
            for(int k2 = 0; k2 < word0; k2++)
            {
                int l2 = (a[i2 + a[i]] & 0xff) << 8 | a[i2 + a[i] + 1] & 0xff;
                i2 += 2;
                int i3;
                i3 = (i3 = l2 & 0xf) - j;
                int k1 = i1;
                if(i3 <= 0)
                {
                    ai[l1] = 0;
                } else
                {
                    if(i3 >= 12)
                        k1 = 0xffffff;
                    if(flag1)
                    {
                        i3 <<= 4;
                        if((i3 += 20) > 255)
                            i3 = 255;
                        ai[l1] = i3 << 24 | k1;
                    } else
                    if(i3 > 8)
                        ai[l1] = 0xff000000 | k1;
                    else
                        ai[l1] = 0 | k1;
                }
                l1++;
            }

            l1 += j1 - word0;
        }

    }

}

⌨️ 快捷键说明

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