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

📄 b.java

📁 不用说
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                Graphics g11 = g1;
                g1.drawImage(z, i + e + 2, h + 2, 20);
                Graphics g16 = g1;
                Graphics g19 = g1;
                g1.drawImage(y, i + e + 2, h + E / 2, 20);
            } else
            {
                Graphics g7 = g1;
                Graphics g12 = g1;
                g1.drawImage(z, i + 2, h + E + 2, 20);
                Graphics g17 = g1;
                Graphics g20 = g1;
                g1.drawImage(y, i + e / 2, h + E + 2, 20);
            }
            _fldlong = false;
        }
        if(flag)
        {
            g1.setColor(63, 63, 63);
            g1.fillRect(i + e + 1, h + w._fldcase + 3, 20, I);
            g1.fillRect(i + e + 1, h + E / 2 + w._fldcase + 2, 20, I);
            g1.setColor(255, 255, 254);
            Graphics g2 = g1;
            Graphics g4 = g1;
            g1.drawString(" " + D, i + e + 2, h + w._fldcase + 1, 20);
            Graphics g8 = g1;
            Graphics g13 = g1;
            g1.drawString(" " + J, i + e + 2, h + E / 2 + w._fldcase + 0, 20);
        } else
        {
            g1.setColor(63, 63, 63);
            g1.fillRect(i + w._fldvoid + 3, h + E + 1, 20, I);
            g1.fillRect(i + e / 2 + w._fldvoid + 1, h + E + 1, 20, I);
            g1.setColor(255, 255, 254);
            Graphics g3 = g1;
            Graphics g5 = g1;
            g1.drawString(" " + D, i + w._fldvoid + 2, h + E + 0, 20);
            Graphics g9 = g1;
            Graphics g14 = g1;
            g1.drawString(" " + J, i + e / 2 + w._fldvoid, h + E + 0, 20);
        }
        w.a(g1);
        for(int i1 = 0; i1 < l; i1++)
            if(_fldgoto[i1])
            {
                O[i1].a(g1);
                for(int k1 = 0; k1 < l; k1++)
                    if(i1 != k1 && O[k1].a && O[i1].a(O[k1]._fldint, O[k1]._fldfor))
                    {
                        O[i1].b = (O[i1].b ^ 7) & 3;
                        if(O[i1].b == 0)
                            O[i1].b = 4;
                    }

                if(O[i1].a(w._fldbyte, w._fldnew) && w._fldnull == 1)
                {
                    O[i1].b = (O[i1].b ^ 7) & 3;
                    if(O[i1].b == 0)
                        O[i1].b = 4;
                    w._fldnull = 7;
                    w.f = w.f & 0xf;
                    w._fldfor = 8;
                }
                if(_fldchar[0]._fldif && _fldchar[0].a(O[i1]._fldint, O[i1]._fldfor, O[i1]._fldlong, O[i1]._fldtry) && !_fldchar[0]._fldint)
                {
                    _fldchar[0]._fldfor = O[i1]._fldint;
                    _fldchar[0]._flddo = O[i1]._fldfor;
                    _fldchar[0]._fldint = true;
                    _fldchar[0]._fldnull = 8;
                    _fldgoto[i1] = false;
                    J--;
                    if(J == 0)
                        k = true;
                    g1.fillRect(O[i1]._fldint, O[i1]._fldfor, O[i1]._fldlong, O[i1]._fldtry);
                }
            } else
            if(J >= l)
            {
                switch(i1)
                {
                case 0: // '\0'
                    O[0]._fldint = (i + e / 2) - O[0]._fldlong / 2;
                    O[0]._fldfor = h + 2;
                    break;

                case 1: // '\001'
                    O[1]._fldint = i;
                    O[1]._fldfor = h + 2;
                    break;

                case 2: // '\002'
                    O[2]._fldint = (i + e) - O[2]._fldlong;
                    O[2]._fldfor = h + 2;
                    break;
                }
                O[i1].a = true;
                _fldgoto[i1] = true;
                for(int l1 = 0; l1 < l; l1++)
                    if(_fldgoto[l1] && i1 != l1 && O[l1].a(O[i1]._fldint, O[i1]._fldfor))
                    {
                        O[i1].a = false;
                        _fldgoto[i1] = false;
                    }

            }

        if(_fldchar[0]._fldif)
            _fldchar[0].a(g1);
        else
            w.b = false;
        for(int i2 = 1; i2 < _fldif; i2++)
            if(r[i2])
            {
                _fldchar[i2].a(g1);
                if(!_fldchar[i2]._fldif)
                {
                    r[i2] = false;
                    for(int k2 = 0; k2 < l; k2++)
                        if(O[k2]._fldelse == i2 && O[k2]._fldnull)
                            O[k2]._fldnull = false;

                }
                if(r[0] && _fldchar[i2].a(_fldchar[0]._fldbyte, _fldchar[0]._fldtry, _fldchar[0].b, _fldchar[0]._fldchar) && w._fldnull == 1 && !_fldchar[i2]._fldint && !_fldchar[0]._fldint)
                {
                    _fldchar[i2]._fldif = false;
                    _fldchar[0]._fldif = false;
                    r[0] = false;
                    r[i2] = false;
                    g1.fillRect(_fldchar[i2]._fldbyte, _fldchar[i2]._fldtry, _fldchar[i2].b, _fldchar[i2]._fldchar);
                    g1.fillRect(_fldchar[0]._fldbyte, _fldchar[0]._fldtry, _fldchar[0].b, _fldchar[0]._fldchar);
                }
                if(_fldchar[i2].a(w._fldbyte, w._fldnew, w._fldvoid, w._fldcase) && w._fldnull == 1 && !_fldchar[i2]._fldint)
                {
                    _fldchar[i2]._fldif = false;
                    r[i2] = false;
                    g1.fillRect(_fldchar[i2]._fldbyte, _fldchar[i2]._fldtry, _fldchar[i2].b, _fldchar[i2]._fldchar);
                    w._fldnull = 7;
                    w.f = w.f & 0xf;
                    w._fldfor = 8;
                }
            }

        if(k || x)
        {
            try
            {
                if(k)
                    _fldnull = Image.createImage("/win.png");
                if(x)
                    _fldnull = Image.createImage("/lose.png");
            }
            catch(Exception exception)
            {
                System.out.println(exception);
            }
            H = 1;
            _fldlong = true;
            u = 4;
        }
    }

    private void _mthdo(Graphics g1)
    {
        if(_fldlong)
        {
            _fldlong = false;
            _fldint = _fldnull.getWidth() / 2;
            _fldfor = _fldnull.getHeight() / 2;
            _fldnew = 0;
            _fldvoid = 0;
        }
        switch(H)
        {
        default:
            break;

        case 1: // '\001'
            g1.translate((a - _fldnull.getWidth()) / 2, (_flddo - _fldnull.getHeight()) / 3);
            g1.setClip(_fldint, _fldfor, _fldnew, _fldvoid);
            Graphics g2 = g1;
            Graphics g3 = g1;
            g1.drawImage(_fldnull, 0, 0, 20);
            if(_fldnew < _fldnull.getWidth())
            {
                _fldint -= 4;
                _fldfor -= 4;
                _fldnew += 8;
                _fldvoid += 8;
            } else
            {
                _fldcase.a = 0;
                if(k && _fldtry == 20)
                {
                    try
                    {
                        v = Image.createImage("/medal.png");
                    }
                    catch(Exception exception)
                    {
                        System.out.println(exception);
                    }
                    H = 2;
                } else
                {
                    H = 4;
                }
            }
            break;

        case 2: // '\002'
            if(_fldcase.a >= 2)
            {
                _fldcase.a = 0;
                H = 3;
                g1.setColor(0);
                g1.fillRect(0, 0, a, _flddo);
            }
            break;

        case 3: // '\003'
            Graphics g4 = g1;
            Graphics g5 = g1;
            g1.drawImage(v, (a - v.getWidth()) / 2, (_flddo - v.getHeight()) / 2, 20);
            g1.setColor(255, 255, 255);
            g1.drawString("You are a HERO!", a / 2, (_flddo + v.getHeight()) / 2, 17);
            if(_fldcase.a >= 2)
            {
                _fldcase.a = 0;
                H = 4;
            }
            break;

        case 4: // '\004'
            _fldnull = null;
            if(G != null)
                G.commandAction(List.SELECT_COMMAND, this);
            break;
        }
    }

    private boolean a(int i1)
    {
        Object obj = null;
        boolean flag = false;
        int j1 = 0;
        int ai[] = new int[2704];
        String s1 = "/tank_map.";
        try
        {
            InputStream inputstream = getClass().getResourceAsStream(s1 + i1);
            if(inputstream != null)
            {
                int k1;
                while((k1 = inputstream.read()) != -1) 
                {
                    int i2 = k1;
                    int k2 = inputstream.read();
                    for(int i3 = 0; i3 < i2; i3++)
                    {
                        ai[j1] = k2;
                        ai[52 + j1] = k2;
                        ai[j1 + 1] = k2;
                        ai[52 + j1 + 1] = k2;
                        if((j1 += 2) % 52 == 0)
                            j1 += 52;
                    }

                }
                inputstream.close();
            }
            System.out.println("Could not find the map for level " + i1);
        }
        catch(IOException ioexception)
        {
            return false;
        }
        boolean flag1 = false;
        int l1 = 0;
        int j2 = o * 52 + p;
        for(int l2 = 0; l2 < 2704; l2++)
            if(l2 >= j2 && l2 < j2 + e / 4)
                n[l1++] = ai[l2];
            else
            if(l2 == j2 + e / 4)
            {
                j2 += 52;
                if(l2 == j2)
                    n[l1++] = ai[l2];
            }

        return true;
    }

    void a(int i1, int j1, int k1, int l1, int i2)
    {
        if(!_fldchar[i1]._fldif)
        {
            r[i1] = true;
            _fldchar[i1]._fldif = true;
            _fldchar[i1].f = j1 & 0xf;
            if(_fldchar[i1].f == 0)
                _fldchar[i1].f = 3;
            switch(_fldchar[i1].f)
            {
            default:
                break;

            case 1: // '\001'
                _fldchar[i1]._fldtry = l1 + i2;
                m = true;
                if(k1 > i + 2)
                    _fldchar[i1]._fldbyte = k1;
                else
                    _fldchar[i1]._fldbyte = i + 2;
                break;

            case 2: // '\002'
                _fldchar[i1]._fldtry = l1 + i2;
                m = true;
                if(k1 < (i + e) - 18)
                    _fldchar[i1]._fldbyte = k1 + 6;
                else
                    _fldchar[i1]._fldbyte = (i + e) - 10;
                break;

            case 3: // '\003'
                _fldchar[i1]._fldbyte = k1 + i2;
                m = true;
                if(l1 > h + 2)
                    _fldchar[i1]._fldtry = l1;
                else
                    _fldchar[i1]._fldtry = h + 2;
                break;

            case 4: // '\004'
                _fldchar[i1]._fldbyte = k1 + i2;
                m = true;
                if(l1 < (h + E) - 18)
                    _fldchar[i1]._fldtry = l1 + 6;
                else
                    _fldchar[i1]._fldtry = (h + E) - 10;
                break;
            }
        }
    }

    public void setCommandListener(CommandListener commandlistener)
    {
        super.setCommandListener(commandlistener);
        G = commandlistener;
    }

    public Screen a()
    {
        String s1 = "Result";
        j = new ChoiceGroup("Your choice", 1);
        A = new Form(null);
        if(k)
        {
            if(_fldtry < 20)
                j.append("Next Level", null);
            else
                j.append("Play Again", null);
        } else
        {
            j.append("Try Again", null);
        }
        j.append("Back to Menu", null);
        j.append("Quit", null);
        if(k)
            s1 = "You Win!";
        if(x)
            s1 = "You lose!";
        A.append(j);
        A.setTitle(s1);
        return A;
    }

    void _mthif(int i1)
    {
        _fldlong = true;
        k = false;
        x = false;
        l = 3;
        _fldif = 3;
        J = 3 + i1 * 3;
        try
        {
            t = Image.createImage("/tiles.png");
            g = Image.createImage(8, 8);
            _fldelse = g.getGraphics();
            _fldelse.drawImage(t, 0, 0, 20);
            f = Image.createImage(8, 8);
            _fldelse = f.getGraphics();
            _fldelse.drawImage(t, -8, 0, 20);
            d = Image.createImage(8, 8);
            _fldelse = d.getGraphics();
            _fldelse.drawImage(t, 0, -8, 20);
            c = Image.createImage(8, 8);
            _fldelse = c.getGraphics();
            _fldelse.drawImage(t, -8, -8, 20);
            K = Image.createImage(16, 16);
            _fldelse = K.getGraphics();
            _fldelse.drawImage(t, -16, 0, 20);
            if(a > _flddo)
            {
                i = (a - e - w._fldvoid) / 2;
                h = (_flddo - E) / 2;
            } else
            {
                i = (a - e) / 2;
                h = (_flddo - E - w._fldcase) / 2;
            }
            p = (208 - e) / 2 / 4;
            o = (208 - E) / 4;
            v = Image.createImage("/tanks.png");
            z = Image.createImage(v.getWidth() / 4, v.getHeight());
            _fldelse = z.getGraphics();
            _fldelse.drawImage(v, -v.getWidth() / 2, 0, 20);
            v = Image.createImage("/tank_enemy.png");
            y = Image.createImage(v.getWidth() / 4, v.getHeight());
            _fldelse = y.getGraphics();
            _fldelse.drawImage(v, -v.getWidth() / 2, 0, 20);
            _fldelse = null;
            v = null;
        }
        catch(Exception exception)
        {
            System.out.println(exception);
        }
        if(!a(_fldtry))
        {
            _fldtry = 1;
            a(_fldtry);
        }
        for(int j1 = 0; j1 < l; j1++)
        {
            _fldgoto[j1] = true;
            O[j1].a = true;
            O[j1]._fldnull = false;
        }

        for(int k1 = 0; k1 < _fldif; k1++)
        {
            r[k1] = false;
            _fldchar[k1]._fldif = false;
            _fldchar[k1]._fldint = false;
        }

        O[0]._fldint = i + (e - O[0]._fldlong) / 2;
        O[0]._fldfor = h + 2;
        O[0]._fldbyte = 30;
        O[1]._fldint = i + 2;
        O[1]._fldfor = h + 2;
        O[1]._fldbyte = 50;
        O[2]._fldint = (i + e) - O[2]._fldlong - 2;
        O[2]._fldfor = h + 2;
        O[2]._fldbyte = 40;
        for(int l1 = 0; l1 < 4; l1++)
        {
            n[0 + (e / 4) * l1] = 0;
            n[1 + (e / 4) * l1] = 0;
            n[2 + (e / 4) * l1] = 0;
            n[3 + (e / 4) * l1] = 0;
            n[((e / 4 - 1) / 2 - 1) + (e / 4) * l1] = 0;
            n[((e / 4 - 1) / 2 - 0) + (e / 4) * l1] = 0;
            n[(e / 4 - 1) / 2 + 1 + (e / 4) * l1] = 0;
            n[(e / 4 - 1) / 2 + 2 + (e / 4) * l1] = 0;
            n[(e / 4 - 1) + (e / 4) * l1] = 0;
            n[(e / 4 - 2) + (e / 4) * l1] = 0;
            n[(e / 4 - 3) + (e / 4) * l1] = 0;
            n[(e / 4 - 4) + (e / 4) * l1] = 0;
        }

        if(_fldtry % 3 == 0)
            D++;
        w._fldbyte = (i + e / 2) - 16 - w._fldvoid - 2;
        w._fldnew = (h + E) - w._fldcase - 2;
        w._fldnull = 0;
        w._fldfor = 40;
        w.f = 3;
        w.b = false;
        B = true;
    }

    void _mthfor()
    {
    }

    boolean _mthif()
    {
        return M;
    }

    void _mthint()
    {
        if(!M)
        {
            M = true;
            b = null;
        }
        _fldlong = true;
        repaint();
    }

    void _mthdo()
    {
        if(M)
        {
            M = false;
            s.setCurrent(this);
        } else
        {
            _fldlong = true;
            s.setCurrent(this);
            repaint();
        }
        b = new Thread(this);
        b.start();
    }

    void _mthnew()
    {
        u = 3;
        H = 1;
        _mthif(_fldtry);
        s.setCurrent(this);
        repaint();
        _fldcase.a = 0;
        b = new Thread(this);
        b.start();
    }

}

⌨️ 快捷键说明

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