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

📄 ostacolo.java

📁 j2me赛车游戏源代码。看似比较专业。值得研究。欢迎下载。
💻 JAVA
字号:
// FrontEnd Plus GUI for JAD
// DeCompiled : Ostacolo.class

import com.nokia.mid.ui.DirectGraphics;
import java.util.Random;

class Ostacolo
{

    private final GameManager gm;
    private Immagine iE;
    private int dxE;
    private int dyE;
    private Random ra;
    int co;
    private int ve;
    private int veS;
    int me256;
    private int nu;
    private int m;
    private int dS[] = {
        1000, 700, 500
    };
    private int yp;

    Ostacolo(GameManager gm, int n, Immagine el, int ve, int co)
    {
        iE = el;
        this.gm = gm;
        this.ve = ve;
        veS = ve;
        if(co == 2)
            co = 3;
        this.co = co;
        dxE = el.dx;
        dyE = el.dy;
        ra = new Random();
        me256 = (ra.nextInt() & 0x3e8) + 300 << 8;
    }

    void re()
    {
        ve = ve;
        veS = ve;
        me256 = (ra.nextInt() & 0x3e8) + 300 << 8;
    }

    public void tick()
    {
        me256 = me256 + (ve << 8) / 40;
        if(me256 < gm.mA256 - 51200)
        {
            m = (ra.nextInt() & 0xff) + dS[gm.li];
            me256 = (gm.mA256 >> 8) + m << 8;
        }
        cC();
    }

    public void di(DirectGraphics dg)
    {
        int pR = me256 - gm.mA256 >> 8;
        if(pR < -13 || pR > 228)
            return;
        yp = (5776 - 25 * pR) / (76 + pR);
        if(yp < 1 || yp > 109)
            return;
        int dx = dxE * gm.r2562[yp] >> 16;
        int dy = dyE * gm.r2562[yp] >> 16;
        if(dx > dxE)
        {
            dx = dxE;
            dy = dyE;
        }
        iE.rid(dg, gm.liS[yp] + (co * gm.dxS[yp] - dx) / 2, (94 + yp) - dy, dx, 0);
    }

    private void cC()
    {
        int pR = me256 - gm.mA256 >> 8;
        if(pR > 7 && pR < 15 && cX())
        {
            me256 += gm.ve / 4 << 8;
            gm.tur = 0;
            gm.ve256 -= (ra.nextInt() & 0x32) + 50 << 8;
            if(gm.ve < ve)
                gm.ve256 = ve << 8;
            gm.da -= 4;
            if(gm.da < 0)
                gm.da = 0;
        } else
        if(pR < -2 && pR > -7 && cX())
        {
            me256 -= 5120;
            gm.ve256 += 5120;
            gm.da -= 4;
            if(gm.da < 0)
                gm.da = 0;
        }
    }

    private boolean cX()
    {
        int dSc = Math.abs((gm.liS[54] + (co * gm.dxS[54]) / 2) - gm.xAG);
        return dSc > 0 && dSc < 50;
    }

    int pi()
    {
        return me256 - gm.mA256 >> 8;
    }
}

⌨️ 快捷键说明

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