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

📄 a.java

📁 魂斗罗游戏的原码(j2me) 是学习j2me很好的方法
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 

package mdigi;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;

// Referenced classes of package mdigi:
//            f, h, b, e, 
//            d, j, g, i

public class a
{

    private Image b;
    private Graphics q;
    private boolean l;
    public int a;
    public int v;
    public Player p;
    private e g;
    public h t;
    public b H[];
    public Image f;
    public Image e;
    public Image n;
    private Image E;
    private Image c;
    private Image D;
    private Image x;
    public Image w;
    public Image F;
    private Image r[];
    private Graphics k[];
    public int B;
    public int A[] = {
        0, 280
    };
    public int G[] = {
        -2, -1
    };
    byte s[][][];
    boolean j;
    boolean i;
    boolean m;
    int o;
    f y[];
    f u[];
    f z;
    int h[][] = {
        {
            1, 2, 3, 2, 4, 3, 0
        }, {
            1, 2, 3, 2, 4, 3, 0
        }, {
            1, 2, 3, 2, 4, 3, 1
        }
    };
    int C[] = {
        1, 5, 5
    };
    public int d[][] = {
        {
            0, 0, 10, 10
        }, {
            0, 10, 10, 11
        }, {
            29, 0, 14, 15
        }, {
            10, 0, 19, 21
        }
    };

    public a(e e1)
    {
        l = false;
        a = 0;
        v = 5;
        r = new Image[2];
        k = new Graphics[2];
        B = 0;
        j = false;
        i = false;
        m = false;
        o = 0;
        y = new f[30];
        u = new f[25];
        g = e1;
        b = Image.createImage(176, 188);
        q = b.getGraphics();
        for(int i1 = 0; i1 < 2; i1++)
        {
            r[i1] = Image.createImage(280, 188);
            k[i1] = r[i1].getGraphics();
        }

        c = a("bomb");
        D = a("ebomb");
        x = a("ads");
        w = a("player");
        f = a("enemy");
        e = a("loeo");
        try
        {
            java.io.InputStream inputstream = getClass().getResourceAsStream("/icons/0.mid");
            p = Manager.createPlayer(inputstream, "audio/midi");
        }
        catch(Exception exception) { }
    }

    public void d()
    {
        a = -1;
        v = 8;
        t = new h(this);
        H = new b[8];
        z = new f(this);
        z.a();
        B = 0;
        h();
        if(g.v)
            e(1);
    }

    protected void h()
    {
        A[0] = 0;
        A[1] = 280;
        G[0] = -2;
        G[1] = -1;
        t.k();
        t.f(10);
        j = false;
        i = false;
        for(int i1 = 0; i1 < y.length; i1++)
        {
            y[i1] = new f(this);
            y[i1].a();
        }

        for(int j1 = 0; j1 < u.length; j1++)
        {
            u[j1] = new f(this);
            u[j1].a();
        }

        a++;
        F = null;
        n = null;
        s = null;
        System.gc();
        try
        {
            E = null;
            E = a("map" + a);
        }
        catch(Exception exception) { }
        switch(a)
        {
        case 0: // '\0'
            s = d.a;
            break;

        case 1: // '\001'
            s = j.a;
            break;

        case 2: // '\002'
            s = g.a;
            break;
        }
        for(int k1 = 0; k1 < 8; k1++)
        {
            H[k1] = null;
            H[k1] = new b(this);
        }

        f(0);
        f(1);
        b(0);
        B = 3;
    }

    protected void f(int i1)
    {
        G[i1] = G[i1] + 2;
        k[i1].setColor(0, 0, 0);
        k[i1].fillRect(0, 0, 280, 188);
        for(int j1 = 0; j1 < s[G[i1]].length; j1++)
        {
            for(int k1 = 0; k1 < s[G[i1]][j1].length; k1++)
                a(k[i1], E, s[G[i1]][j1][k1], k1 * 28, j1 * 28, 28);

        }

    }

    protected void g()
    {
        if(j && !i)
        {
            for(int i1 = 0; i1 < 2; i1++)
                A[i1] -= 4;

            t.a(t.d() - 4);
            for(int j1 = 7; j1 > 3; j1--)
                if(H[j1].i)
                    H[j1].a(H[j1].d() - 4);

            if(t.d() <= 6)
            {
                i = true;
                j = false;
            }
        }
    }

    public synchronized void a(Graphics g1)
    {
        switch(B)
        {
        case 1: // '\001'
        case 2: // '\002'
        default:
            break;

        case 0: // '\0'
            if(a >= 2)
            {
                B = 6;
                n = a("over");
                g.i();
                return;
            }
            t.B++;
            q.setColor(0, 0, 0);
            q.fillRect(0, 0, 280, 188);
            if(t.B >= 2)
                h();
            break;

        case 3: // '\003'
            try
            {
                g();
                t.v();
                for(int i1 = 0; i1 < 2; i1++)
                    q.drawImage(r[i1], A[i1], 0, 20);

                for(int l1 = 7; l1 >= 0; l1--)
                    if(H[l1].i)
                    {
                        H[l1].b(q);
                        H[l1].c(q);
                    } else
                    if((G[0] != 0 || A[0] <= -30) && l1 < h[a][G[t.c(t.d())]])
                        a(l1, 0, H[l1].m() != 0 ? -20 : 180, (H[l1].i() % 20) * 2 + 2, 0);

                if(z.i)
                {
                    if(z.d == 0)
                    {
                        z.h += z.b;
                        z.f += z.e;
                        if(z.f >= z.a || z.f <= z.c)
                            z.e = -z.e;
                        if(z.h <= -20 || z.h >= 182)
                            z.i = false;
                    } else
                    if(z.d == 1)
                    {
                        if(e())
                        {
                            z.h += z.b;
                            z.f += z.e;
                        }
                        if(z.f <= z.a)
                            z.e = -z.e;
                        if(z.h <= 0 || z.h >= 150)
                            z.b = -z.b;
                        if(z.f >= 184)
                            z.i = false;
                    }
                    a(q, x, z.h, z.f + 2, 0, z.d * 15, 27, 15, 20);
                }
                t.a(q);
                for(int k2 = 0; k2 < y.length; k2++)
                    if(y[k2].i)
                    {
                        y[k2].h += y[k2].b;
                        y[k2].f += y[k2].e;
                        if(z.i && z.d == 0 && y[k2].h >= z.h && y[k2].h <= z.h + 27 && y[k2].f >= z.f && y[k2].f <= z.f + 15)
                        {
                            z.d = 1;
                            z.e = -4;
                            z.a = z.f - 20;
                            z.b = y[k2].b < 0 ? -1 : 1;
                        }
                        a(q, c, y[k2].h, y[k2].f, y[k2].d * 7, 0, 7, 8, 20);
                        if(y[k2].h < 0 || y[k2].h > 175 || y[k2].f < 0 || y[k2].f > 185)
                            y[k2].a();
                    }

                if(z.i && z.d == 1 && !t.x && t.d() + 8 >= z.h && t.d() + 8 <= z.h + 27 && t.f() >= z.f && t.f() <= z.f + 15)
                {
                    z.i = false;
                    t.s = 2;
                }
                for(int i3 = 0; i3 < u.length; i3++)
                    if(u[i3].i)
                    {
                        u[i3].h += u[i3].b;
                        u[i3].f += u[i3].e;
                        if(u[i3].c != 0)
                        {
                            u[i3].c--;
                            if(u[i3].c <= 1)
                                u[i3].c = 1;
                            u[i3].a = 10 - u[i3].c;
                            u[i3].b = -u[i3].c;
                            u[i3].e = u[i3].a;
                        }
                        a(q, D, u[i3].h, u[i3].f, u[i3].d * 8, 0, 8, 8, 20);
                        if(u[i3].h < 0 || u[i3].h > 175 || u[i3].f < 0 || u[i3].f > 185)
                            u[i3].a();
                    }

            }
            catch(Exception exception) { }
            if(v <= 0)
            {
                B = 5;
                n = a("over");
                g.i();
                return;
            }
            break;

        case 4: // '\004'
            b();
            t.a(q);
            t.b();
            try
            {
                if(i)
                {
                    if(H[7].i)
                        H[7].b(q);
                    H[7].y++;
                    int j1 = H[7].d() + H[7].i() % 30;
                    int i2 = H[7].f() + (H[7].i() % 80 - 40);
                    int l2 = H[7].i() % 4;
                    a(q, F, j1, i2, d[l2][0], d[l2][1], d[l2][2], d[l2][3], 20);
                    if(H[7].y >= 20)
                        i = false;
                } else
                {
                    H[7].i = false;
                    t.q();
                    t.a(t.d() + t.j());
                    if(t.d() >= 170)
                    {
                        H[7].h = null;
                        System.gc();
                        B = 0;
                    }
                }
            }
            catch(Exception exception1) { }
            break;

        case 5: // '\005'
            b();
            for(int k1 = 7; k1 >= 0; k1--)
                if(H[k1].i)
                    H[k1].b(q);

            a(q, n, 55, 80, 0, 15, 65, 15, 20);
            break;

        case 6: // '\006'
            b();
            for(int j2 = 7; j2 >= 0; j2--)
                if(H[j2].i)
                    H[j2].b(q);

            a(q, n, 55, 80, 0, 0, 65, 15, 20);
            break;
        }
        if(B != 0)
        {
            a(q, x, 5, 4, 0, 0, 9, 13, 20);
            a(q, x, 13, 4, 18, 0, 9, 13, 20);
            q.setColor(248, 9, 20);
            q.drawString(v + "", 30, 3, 20);
        }
        g1.drawImage(b, 0, 0, 20);
    }

    protected void b()
    {
        for(int i1 = 0; i1 < 2; i1++)
            q.drawImage(r[i1], A[i1], 0, 20);

    }

    protected void d(int i1)
    {
        z.a();
        z.i = true;
        z.h = -15;
        z.f = i1;
        z.b = 5;
        z.e = 4;
        z.c = z.f - 20;
        z.a = z.f + 20;
    }

    protected void a(int i1, int j1, int k1, int l1, int i2)
    {
        H[i1].r = j1;
        H[i1].D = j1 < 2 ? 0 : 5;
        H[i1].f(i2);
        H[i1].h(H[i1].i() % 2);
        H[i1].a(k1);
        H[i1].g(l1);
        H[i1].i = true;
    }

    protected void b(int i1)
    {
        switch(i1)
        {
        case 1: // '\001'
        default:
            break;

        case 0: // '\0'
            if(a == 0)
            {
                a(5, 1, 230, 154, 3);
                break;
            }
            if(a == 1)
            {
                a(5, 1, 230, 98, 4);
                break;
            }
            if(a == 2)
                a(5, 1, 240, 98, 4);
            break;

        case 2: // '\002'
            if(a == 0)
            {
                a(4, 2, 202, 66, 7);
                a(5, 1, 230, 154, 3);
                break;
            }
            if(a == 1)
            {
                a(4, 3, 34, 98, 6);
                a(5, 3, 230, 98, 6);
                break;
            }
            if(a == 2)
            {
                d(20);
                a(4, 1, 240, 98, 4);
                a(5, 2, 128, 150, 7);
                a(6, 4, 184, 4, 19);
            }
            break;

        case 3: // '\003'
            if(a == 0)
            {
                d(20);
                a(4, 1, 202, 98, 3);
                break;
            }
            if(a == 1)
            {
                a(4, 2, 140, 126, 7);
                a(5, 1, 230, 126, 3);
                break;
            }
            if(a == 2)
            {
                a(4, 1, 212, 98, 4);
                a(5, 1, 240, 154, 3);
                a(6, 4, 156, 32, 19);
            }
            break;

        case 4: // '\004'
            if(a == 0)
            {
                a(4, 1, 224, 70, 3);
                a(5, 2, 202, 98, 3);
                break;
            }
            if(a == 1)
            {

⌨️ 快捷键说明

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