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

📄 a.java

📁 雪人的游戏代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                        break;
                    }
                    break;

                case -1: 
                case 50: // '2'
                    if(U[0][5] == 12)
                    {
                        U[0][2] -= 512;
                        if((U[0][2] >> 8) - L[U[0][0]][U[0][5]][U[0][6]][3] - 32 < 0)
                            U[0][2] = L[U[0][0]][U[0][5]][U[0][6]][3] + 32 << 8;
                    }
                    break;

                case -2: 
                case 56: // '8'
                    if(U[0][5] == 12)
                    {
                        U[0][2] += 512;
                        if(U[0][2] >> 8 > 164)
                            U[0][2] = 41984;
                    }
                    break;

                case -5: 
                case 53: // '5'
                    if(!E[2])
                    {
                        _fldelse = System.currentTimeMillis();
                        if(l[0] != 1)
                        {
                            l[0] = 1;
                            _mthif();
                        }
                    }
                    break;
                }
            break;

        case 4: // '\004'
            switch(_fldvoid)
            {
            default:
                break;

            case -1: 
            case 50: // '2'
                C += 5;
                if(C > 15)
                    C = 15;
                break label0;

            case -2: 
            case 56: // '8'
                C -= 5;
                if(C < A - _fldcase.length * 14 - 14)
                    C = A - _fldcase.length * 14 - 14;
                break;

            case -7: 
                u = 2;
                a(new String[] {
                    "/ui/title.png", "/ui/titleback.png"
                });
                l[0] = 1;
                l[1] = 0;
                H = 0;
                _fldcase = null;
                break;
            }
            break;
        }
    }

    public void _mthchar(Graphics g1)
    {
        g1.setColor(0);
        g1.setClip(0, 0, _fldfor, 32);
        g1.clipRect(0, 0, _fldfor, A);
        g1.fillRect(0, 0, _fldfor, 32);
        g1.drawImage(D[6], 0, 0, 0);
        g1.setClip(0, 175, _fldfor, 32);
        g1.clipRect(0, 175, _fldfor, A);
        g1.drawImage(D[6], 0, 175, 0);
        a(g1, D[3], 7, 4, 82, 0, 15, 18, false);
        for(int i1 = 0; i1 < M; i1++)
            a(g1, D[3], 25 + 6 * i1, 7, 72, 34, 11, 13, false);

        a(g1, _fldfor >> 1, 7, _fldtry, 1);
        if(b != 6 && b != 13 && b != 18)
        {
            a(g1, D[3], 128, 8, 40, 9, 42, 10, false);
            if(S[6] > 0)
                a(g1, D[3], 154 - (27 * S[6]) / 60, 6, 72, 19, 15, 15, false);
        }
        a(g1, D[3], 0, 185, 0, 2, 40, 17, false);
        a(g1, D[3], 40, 185, 0, 2, 40, 17, false);
        a(g1, D[3], 92, 185, 0, 2, 40, 17, true);
        a(g1, D[3], 132, 185, 0, 2, 40, 17, true);
        a(g1, D[3], 52, 180, 0, 19, 72, 16, false);
        a(g1, D[3], 52, 184, 0, 35, _fldchar * 18, 12, false);
    }

    public void _mthif(Graphics g1, int i1, int j1, int k1)
    {
        String s1 = Integer.toString(k1);
        for(int l1 = 0; l1 < s1.length(); l1++)
        {
            String s2 = s1.substring(l1, l1 + 1);
            a(g1, t[1], i1 - (s1.length() - l1) * 9, j1, Integer.parseInt(s2) * 9, 50, 9, 13, false);
        }

    }

    public void a(Graphics g1, int i1, int j1, int k1)
    {
        a(g1, D[3], i1, j1, k1 * 9, 47, 9, 12, false);
    }

    public void a(Graphics g1, int i1, int j1, int k1, int l1)
    {
        String s1 = Integer.toString(k1);
        if(l1 == 0)
        {
            for(int i2 = 0; i2 < s1.length(); i2++)
            {
                String s2 = s1.substring(i2, i2 + 1);
                a(g1, i1 + i2 * 9, j1, Integer.parseInt(s2));
            }

        } else
        {
            for(int j2 = 0; j2 < s1.length(); j2++)
            {
                String s3 = s1.substring(j2, j2 + 1);
                a(g1, i1 - ((s1.length() >> 1) - j2) * 9, j1, Integer.parseInt(s3));
            }

        }
    }

    public void _mthnew()
    {
        if(!E[2] && System.currentTimeMillis() - _fldelse > 500L && l[0] != 0)
        {
            l[0] = 0;
            _mthif();
        }
        if(l[6] > 0)
            l[6]--;
        switch(U[0][5])
        {
        case 3: // '\003'
            U[0][2] -= 765;
            if(U[0][6] >= L[0][3].length - 1)
            {
                if(l[0] == 1)
                {
                    U[0][5] = 9;
                    U[0][7] = 500;
                } else
                {
                    U[0][5] = 4;
                    U[0][7] = 500;
                }
                U[0][6] = 0;
            }
            break;

        case 4: // '\004'
        case 9: // '\t'
            if(_mthcase(0))
            {
                U[0][2] = _mthfor(U[0][1], U[0][2], 15, U[0][7]);
                U[0][7] += 20;
                if((U[0][2] >> 8) - L[0][U[0][5]][U[0][6]][3] > A)
                    U[0][2] = 8192;
            } else
            {
                if(l[0] == 1)
                {
                    if(l[1] == 1)
                        U[0][5] = 8;
                    else
                        U[0][5] = 6;
                } else
                if(l[1] == 1)
                    U[0][5] = 2;
                else
                    U[0][5] = 0;
                U[0][6] = 0;
            }
            break;

        case 11: // '\013'
        case 12: // '\f'
            l[7]--;
            if(l[7] <= 0)
            {
                U[0][5] = 4;
                U[0][7] = 500;
                U[0][6] = 0;
            }
            break;

        case 13: // '\r'
            if(U[0][6] >= L[0][13].length - 1)
                if(U[0][9] >= 0)
                {
                    U[0][9]--;
                    U[0][6] = 0;
                } else
                {
                    if(M > 0)
                    {
                        a();
                    } else
                    {
                        _mthif(_fldgoto);
                        u = 13;
                        e = null;
                        P = null;
                        System.gc();
                        a(new String[] {
                            "/ui/title.png", "/ui/rank.png"
                        });
                        _mthchar();
                        a("SnowBros");
                    }
                    return;
                }
            break;
        }
        if(u != 7 && _mthcase(0) && U[0][5] != 3 && U[0][5] != 4 && U[0][5] != 11 && U[0][5] != 12 && U[0][5] != 4 && U[0][5] != 9 && U[0][5] != 10 && U[0][5] != 13)
        {
            if(l[0] == 1)
                U[0][5] = 9;
            else
                U[0][5] = 4;
            U[0][6] = 0;
            U[0][7] = 500;
        }
        for(int i1 = 1; i1 < U.length; i1++)
        {
            if(U[0][5] > 9 || l[6] > 0)
                break;
            if(U[i1][0] < 0 || U[i1][0] == 14 || U[i1][0] != -1 && U[i1][5] >= i[U[i1][0]] || U[i1][8] > 0)
                continue;
            int j1 = L[U[i1][0]][U[i1][5]][U[i1][6]][2] - 6 >> 1;
            int l1 = L[U[i1][0]][U[i1][5]][U[i1][6]][3] - 6 >> 1;
            int j2 = L[U[0][0]][U[0][5]][U[0][6]][2] - 6 >> 1;
            int l2 = L[U[0][0]][U[0][5]][U[0][6]][3] - 6 >> 1;
            if(!a((U[i1][1] >> 8) + j1, (U[i1][2] >> 8) + l1, 6, 15, (U[0][1] >> 8) + j2, (U[0][2] >> 8) + l2, 6, 15))
                continue;
            if(U[i1][0] == 1)
            {
                if(b == 6 || b == 13 || b == 18)
                {
                    U[0][5] = 3;
                    U[0][6] = 0;
                    l[6] = 40;
                } else
                {
                    U[0][5] = 10;
                    U[0][6] = 0;
                    l[5] = i1;
                }
                continue;
            }
            M--;
            U[0][5] = 13;
            U[0][6] = 0;
            if(M > 0)
                U[0][9] = 8;
            else
                U[0][9] = 16;
            _mthint();
            break;
        }

        for(int k1 = 0; k1 < _fldnew.length; k1++)
        {
            if(U[0][5] > 9 || l[6] > 0)
                break;
            if(_fldnew[k1][0] < 0)
                continue;
            int i2 = L[U[0][0]][U[0][5]][U[0][6]][2] - 6 >> 1;
            int k2 = L[U[0][0]][U[0][5]][U[0][6]][3] - 6 >> 1;
            if(!a(_fldnew[k1][1] >> 8, (_fldnew[k1][2] >> 8) - J[_fldnew[k1][0]][_fldnew[k1][3]][3], J[_fldnew[k1][0]][_fldnew[k1][3]][2], J[_fldnew[k1][0]][_fldnew[k1][3]][3], (U[0][1] >> 8) + i2, ((U[0][2] >> 8) + k2) - 15, 6, 15 - (k2 << 1)))
                continue;
            M--;
            U[0][5] = 13;
            U[0][6] = 0;
            if(M > 0)
                U[0][9] = 8;
            else
                U[0][9] = 16;
            _mthint();
            break;
        }

    }

    public void a()
    {
        l[0] = 0;
        l[1] = 0;
        l[2] = 0;
        l[3] = 0;
        l[4] = -1;
        l[5] = -1;
        l[6] = 40;
        l[7] = 0;
        U[0][5] = 0;
        U[0][6] = 0;
        U[0][3] = 0;
        U[0][1] = _fldfor << 7;
        U[0][2] = 41728;
    }

    public int a(int i1, int j1, int k1, int l1)
    {
        for(int i2 = 0; i2 < _fldnew.length; i2++)
            if(_fldnew[i2][0] < 0)
            {
                _fldnew[i2][0] = i1;
                _fldnew[i2][1] = j1;
                _fldnew[i2][2] = k1;
                _fldnew[i2][4] = l1;
                if(i1 == 5)
                    _fldnew[i2][5] = 100;
                else
                    _fldnew[i2][5] = 500;
                _fldnew[i2][3] = 0;
                return i2;
            }

        return -1;
    }

    public void _mthcase(Graphics g1)
    {
        for(int i1 = 0; i1 < _fldnew.length; i1++)
            if(_fldnew[i1][0] >= 0)
                switch(_fldnew[i1][0])
                {
                default:
                    break;

                case 0: // '\0'
                    _fldnew[i1][3]++;
                    if(_fldnew[i1][3] >= J[0].length)
                        _fldnew[i1][3] = 0;
                    if(_fldnew[i1][1] < U[0][1])
                    {
                        _fldnew[i1][4] = 1;
                        _fldnew[i1][1] += 300;
                        if(_fldnew[i1][3] % 2 == 0)
                            a(g1, D[2], (_fldnew[i1][1] >> 8) + y.nextInt() % 3, ((_fldnew[i1][2] >> 8) - J[0][_fldnew[i1][3]][3]) + y.nextInt() % 3, J[0][_fldnew[i1][3]][0], J[0][_fldnew[i1][3]][1], J[0][_fldnew[i1][3]][2], J[0][_fldnew[i1][3]][3], true);
                    } else
                    {
                        _fldnew[i1][4] = 0;
                        _fldnew[i1][1] -= 300;
                        if(_fldnew[i1][3] % 2 == 0)
                            a(g1, D[2], (_fldnew[i1][1] >> 8) + y.nextInt() % 3, ((_fldnew[i1][2] >> 8) - J[0][_fldnew[i1][3]][3]) + y.nextInt() % 3, J[0][_fldnew[i1][3]][0], J[0][_fldnew[i1][3]][1], J[0][_fldnew[i1][3]][2], J[0][_fldnew[i1][3]][3], false);
                    }
                    if(_fldnew[i1][2] < U[0][2])
                        _fldnew[i1][2] += 300;
                    else
                        _fldnew[i1][2] -= 300;
                    break;

                case 1: // '\001'
                    if(_fldnew[i1][4] == 0)
                    {
                        _fldnew[i1][1] -= 800;
                        a(g1, D[2], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[1][_fldnew[i1][3]][3], J[1][_fldnew[i1][3]][0], J[1][_fldnew[i1][3]][1], J[1][_fldnew[i1][3]][2], J[1][_fldnew[i1][3]][3], false);
                    } else
                    {
                        _fldnew[i1][1] += 800;
                        a(g1, D[2], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[1][_fldnew[i1][3]][3], J[1][_fldnew[i1][3]][0], J[1][_fldnew[i1][3]][1], J[1][_fldnew[i1][3]][2], J[1][_fldnew[i1][3]][3], true);
                    }
                    _fldnew[i1][3]++;
                    int j1 = (_fldnew[i1][1] >> 8) / 11;
                    int i2 = ((_fldnew[i1][2] >> 8) - 32) / 11;
                    if(j1 >= 0 && j1 < o[i2].length && o[i2][j1] != 0 || _fldnew[i1][3] >= J[_fldnew[i1][0]].length)
                        _fldnew[i1][0] = -1;
                    break;

                case 2: // '\002'
                    _fldnew[i1][2] += 600;
                    a(g1, D[2], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[2][_fldnew[i1][3]][3], J[2][_fldnew[i1][3]][0], J[2][_fldnew[i1][3]][1], J[2][_fldnew[i1][3]][2], J[2][_fldnew[i1][3]][3], false);
                    _fldnew[i1][3]++;
                    if(_fldnew[i1][2] >> 8 < 154 && _fldnew[i1][3] > 9)
                        _fldnew[i1][3] = 9;
                    if(_fldnew[i1][3] >= J[_fldnew[i1][0]].length)
                        _fldnew[i1][3] = J[_fldnew[i1][0]].length - 1;
                    int k1 = (_fldnew[i1][1] >> 8) / 11;
                    int j2 = ((_fldnew[i1][2] >> 8) - 32) / 11;
                    if(_fldnew[i1][2] >> 8 > 164)
                        _fldnew[i1][0] = -1;
                    break;

                case 3: // '\003'
                    if(_fldnew[i1][4] == 0)
                    {
                        _fldnew[i1][1] -= 800;
                        a(g1, D[1], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[3][_fldnew[i1][3]][3], J[3][_fldnew[i1][3]][0], J[3][_fldnew[i1][3]][1], J[3][_fldnew[i1][3]][2], J[3][_fldnew[i1][3]][3], false);
                    } else
                    {
                        _fldnew[i1][1] += 800;
                        a(g1, D[1], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[3][_fldnew[i1][3]][3], J[3][_fldnew[i1][3]][0], J[3][_fldnew[i1][3]][1], J[3][_fldnew[i1][3]][2], J[3][_fldnew[i1][3]][3], true);
                    }
                    if(_fldnew[i1][1] >> 8 >= _fldfor || _fldnew[i1][1] < 0)
                        _fldnew[i1][0] = -1;
                    break;

                case 4: // '\004'
                    _fldnew[i1][3]++;
                    if(_fldnew[i1][3] >= J[4].length)
                        _fldnew[i1][3] = 0;
                    a(g1, D[1], _fldnew[i1][1] >> 8, (_fldnew[i1][2] >> 8) - J[4][_fldnew[i1][3]][3], J[4][_fldnew[i1][3]][0], J[4][_fldnew[i1][3]][1], J[4][_fldnew[i1][3]][2], J[4][_fldnew[i1][3]][3], false);
                    _fldnew[i1][1] += _fldnew[i1][4];
                    _fldnew[i1][2] += _fldnew[i1][5];
                    _fldnew[i1][5] += 20;
                    if(_fldnew[i1][2] >> 8 >= 175)
                        _fldnew[i1][0] = -1;
                    break;

                case 5: // '\005'
                    _fldnew[i1][5] += 160;
                    if(_fldnew[i1][5] > 2560)
                        _fldnew[i1][5] = 2560;
                    if(_fldnew[i1][5] < 0)
                       

⌨️ 快捷键说明

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