d.java

来自「JAVA游戏3D赛车」· Java 代码 · 共 617 行 · 第 1/2 页

JAVA
617
字号
        h h2 = new h();
        h2.a();
        h2.a(90F);
        j = 0;
        for(i j7 = a_i_array1d_fld[j]; j < a_int_fld; j7 = j7.b_i_fld)
        {
            f.a(j7.i, j7.b_i_fld.g, j7.g);
            j7.i[1] = 0.0F;
            f.a(j7.i);
            f.c(j7.e, j7.i);
            h2.b(j7.e);
            j7.d_float_fld = f.b(j7.e, j7.g);
            j++;
        }

        h2.a();
        h2.a(-90F);
        j = 0;
        for(i k7 = a_i_array1d_fld[j]; j < a_int_fld; k7 = k7.b_i_fld)
        {
            f.a(k7.j, k7.b_i_fld.a_float_array1d_fld, k7.a_float_array1d_fld);
            k7.j[1] = 0.0F;
            f.a(k7.j);
            f.c(k7.b_float_array1d_fld, k7.j);
            h2.b(k7.b_float_array1d_fld);
            k7.a_float_fld = f.b(k7.b_float_array1d_fld, k7.a_float_array1d_fld);
            j++;
        }

        a_a_fld.c(80);
    }

    public void a()
    {
        boolean flag = false;
        for(int j = 1; j < a_int_fld - 1; j++)
        {
            a_i_array1d_fld[j].a_i_fld = a_i_array1d_fld[j - 1];
            a_i_array1d_fld[j].b_i_fld = a_i_array1d_fld[j + 1];
            a_i_array1d_fld[j].a_int_fld = j;
        }

        a_i_array1d_fld[0].a_i_fld = a_i_array1d_fld[a_int_fld - 1];
        a_i_array1d_fld[0].b_i_fld = a_i_array1d_fld[1];
        a_i_array1d_fld[0].a_int_fld = 0;
        a_i_array1d_fld[a_int_fld - 1].a_i_fld = a_i_array1d_fld[a_int_fld - 2];
        a_i_array1d_fld[a_int_fld - 1].b_i_fld = a_i_array1d_fld[0];
        a_i_array1d_fld[a_int_fld - 1].a_int_fld = a_int_fld - 1;
    }

    public void a(i j, float af[][], float f1, byte abyte0[], byte abyte1[])
    {
        float f2 = f1 * (float)abyte0[2];
        float f3 = (1.0F - f1) * (float)abyte0[2];
        af[2][0] = j.f[0] - f2 * j.k[0];
        af[2][1] = j.f[1];
        af[2][2] = j.f[2] - f2 * j.k[2];
        af[3][0] = j.f[0] + f3 * j.k[0];
        af[3][1] = j.f[1];
        af[3][2] = j.f[2] + f3 * j.k[2];
        for(int k = 4; k < 6; k++)
        {
            af[k][0] = af[k - 1][0] + (float)abyte0[k - 1] * j.k[0];
            af[k][1] = j.f[1] + (float)(short)abyte1[k - 2];
            af[k][2] = af[k - 1][2] + (float)abyte0[k - 1] * j.k[2];
        }

        for(int l = 1; l >= 0; l--)
        {
            af[l][0] = af[l + 1][0] - (float)abyte0[l] * j.k[0];
            af[l][1] = j.f[1] + (float)(short)abyte1[l];
            af[l][2] = af[l + 1][2] - (float)abyte0[l] * j.k[2];
        }

    }

    public void a(int j, int k, float af[][][], int l, byte abyte0[][])
    {
        boolean flag = false;
        boolean flag1 = false;
        boolean flag2 = false;
        short aword0[] = new short[60 * b_int_fld];
        short aword1[] = new short[40 * b_int_fld];
        float f1 = 1.5F;
        boolean flag3 = false;
        for(int i2 = 0; i2 < 2; i2++)
        {
            int k1;
            int l1;
            if(l == -1)
            {
                k1 = 0;
                l1 = 1;
            } else
            {
                k1 = l;
                l1 = 1 - l;
            }
            int i1 = 0;
            int j1 = 0;
            for(int k2 = j; k2 <= k; k2++)
            {
                int j2;
                if(k2 < a_int_fld)
                    j2 = k2;
                else
                    j2 = 0;
                byte byte0 = 0;
                for(int l2 = 0; l2 < 5; l2++)
                {
                    byte byte2 = abyte0[j2][l2];
                    if(a_byte_array1d_fld[byte2] != i2)
                        continue;
                    byte byte1 = (byte)(1 << byte0);
                    aword0[i1 + 0] = (short)(int)(5F * af[l1][l2 + 1][0]);
                    aword0[i1 + 1] = (short)(int)(5F * af[l1][l2 + 1][1]);
                    aword0[i1 + 2] = (short)(int)(5F * af[l1][l2 + 1][2]);
                    if(l2 > 2)
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][2][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][2][1];
                    } else
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][0][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][0][1];
                    }
                    i1 += 3;
                    j1 += 2;
                    aword0[i1 + 0] = (short)(int)(5F * af[k1][l2 + 1][0]);
                    aword0[i1 + 1] = (short)(int)(5F * af[k1][l2 + 1][1]);
                    aword0[i1 + 2] = (short)(int)(5F * af[k1][l2 + 1][2]);
                    if(l2 == 2)
                    {
                        a_i_array1d_fld[j2].a_byte_array1d_fld[i2] |= byte1;
                        a_i_array1d_fld[j2].b_byte_array1d_fld[i2] |= byte1;
                        a_i_array1d_fld[j2].a_float_array1d_fld[0] = (float)aword0[i1 + 0] / 5F - f1 * a_i_array1d_fld[j2].k[0];
                        a_i_array1d_fld[j2].a_float_array1d_fld[1] = 0.0F;
                        a_i_array1d_fld[j2].a_float_array1d_fld[2] = (float)aword0[i1 + 2] / 5F - f1 * a_i_array1d_fld[j2].k[2];
                    } else
                    if(l2 == 1 || l2 == 3)
                        a_i_array1d_fld[j2].a_byte_array1d_fld[i2] |= byte1;
                    if(l2 > 2)
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][3][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][3][1];
                    } else
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][1][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][1][1];
                    }
                    i1 += 3;
                    j1 += 2;
                    aword0[i1 + 0] = (short)(int)(5F * af[l1][l2][0]);
                    aword0[i1 + 1] = (short)(int)(5F * af[l1][l2][1]);
                    aword0[i1 + 2] = (short)(int)(5F * af[l1][l2][2]);
                    if(l2 > 2)
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][0][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][0][1];
                    } else
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][2][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][2][1];
                    }
                    i1 += 3;
                    j1 += 2;
                    aword0[i1 + 0] = (short)(int)(5F * af[k1][l2][0]);
                    aword0[i1 + 1] = (short)(int)(5F * af[k1][l2][1]);
                    aword0[i1 + 2] = (short)(int)(5F * af[k1][l2][2]);
                    if(l2 == 2)
                    {
                        a_i_array1d_fld[j2].g[0] = (float)aword0[i1 + 0] / 5F + f1 * a_i_array1d_fld[j2].k[0];
                        a_i_array1d_fld[j2].g[1] = 0.0F;
                        a_i_array1d_fld[j2].g[2] = (float)aword0[i1 + 2] / 5F + f1 * a_i_array1d_fld[j2].k[2];
                    }
                    if(l2 > 2)
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][1][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][1][1];
                    } else
                    {
                        aword1[j1 + 0] = a_byte_array3d_fld[byte2][3][0];
                        aword1[j1 + 1] = a_byte_array3d_fld[byte2][3][1];
                    }
                    i1 += 3;
                    j1 += 2;
                    byte0++;
                }

                if(l == -1)
                {
                    k1++;
                    l1++;
                } else
                {
                    k1 = 1 - k1;
                    l1 = 1 - k1;
                }
            }

            if(i1 == 0)
                continue;
            short aword2[] = new short[i1];
            short aword3[] = new short[j1];
            System.arraycopy(aword0, 0, aword2, 0, i1);
            System.arraycopy(aword1, 0, aword3, 0, j1);
            if(i2 == 0)
                a_c_array2d_fld[c_int_fld][i2] = new c(aword2, 0.2F, null, null, aword3, c_e_fld);
            else
                a_c_array2d_fld[c_int_fld][i2] = new c(aword2, 0.2F, null, null, aword3, a_e_fld);
            aword2 = null;
            aword3 = null;
        }

        c_int_fld++;
    }

    public i a(i j, float af[], float af1[])
    {
        float f1 = 0.0F;
        if(j == null)
            j = a_i_array1d_fld[0];
        if((af1[0] = f.a(j.d_float_array1d_fld, j.b_float_fld, af)) >= 0.0F)
            do
            {
                float f2;
                if((f2 = f.a(j.b_i_fld.d_float_array1d_fld, j.b_i_fld.b_float_fld, af)) < 0.0F)
                    return j;
                j = j.b_i_fld;
                af1[0] = f2;
            } while(true);
        do
            j = j.a_i_fld;
        while((af1[0] = f.a(j.d_float_array1d_fld, j.b_float_fld, af)) < 0.0F);
        return j;
    }

    public float a(float af[])
    {
        float af1[] = new float[3];
        af1[0] = af[0];
        af1[1] = 0.0F;
        af1[2] = af[2];
        return af[1] / f.a(af1);
    }

    public int a(i j, float af[], float af1[], float af2[], float af3[])
    {
        float f1 = 0.0F;
        float af4[] = {
            af[0], 0.0F, af[2], 1.0F
        };
        f1 = f.a(j.e, j.d_float_fld, af4);
        if(f1 < 0.0F)
        {
            f.a(af1, j.e, -f1);
            f.c(af2, j.e);
            f.c(af3, j.i);
            return -1;
        }
        f1 = f.a(j.b_float_array1d_fld, j.a_float_fld, af4);
        if(f1 < 0.0F)
        {
            f.a(af1, j.b_float_array1d_fld, -f1);
            f.c(af2, j.b_float_array1d_fld);
            f.c(af3, j.j);
            return 1;
        } else
        {
            return 0;
        }
    }

    public int a(int j, int k)
    {
        int l = j - k;
        if(l > a_int_fld / 2)
            l -= a_int_fld;
        else
        if(l < -(a_int_fld / 2))
            l += a_int_fld;
        return l;
    }

    final short a_short_fld = 5;
    final float a_float_fld = 5F;
    int e;
    int a_int_fld;
    int d;
    byte b_byte_fld;
    a a_a_fld;
    int b_int_fld;
    int c_int_fld;
    c a_c_array2d_fld[][];
    e c_e_fld;
    e a_e_fld;
    e b_e_fld;
    e a_e_array1d_fld[];
    byte a_byte_array3d_fld[][][];
    byte a_byte_array1d_fld[];
    public byte a_byte_fld;
    c a_c_fld;
    Vector b_java_util_Vector_array1d_fld[];
    Vector c_java_util_Vector_array1d_fld[];
    Vector a_java_util_Vector_array1d_fld[];
    i a_i_array1d_fld[];
}

⌨️ 快捷键说明

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