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

📄 b.java

📁 泡泡龙游戏原代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov  Date: 2003-8-12 2:40:50
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 

package com.whkjava.popo;

import com.whkjava.a.a.a;
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;

// Referenced classes of package com.whkjava.popo:
//            c, KMPoPoMIDlet

class b extends Canvas
    implements Runnable, CommandListener
{

    public b(KMPoPoMIDlet kmpopomidlet)
    {
        r = false;
        t = false;
        H = null;
        try
        {
            H = RecordStore.openRecordStore("KMPOPO", true);
        }
        catch(Exception exception) { }
        M = kmpopomidlet;
        _mthif();
        _mthint();
        _mthfor();
        _fldbyte = 0;
        w = new Command("\u5F00\u59CB", 1, 1);
        E = new Command("\u6682\u505C", 1, 1);
        v = new Command("\u7EE7\u7EED", 1, 1);
        C = new Command("\u9000\u51FA", 1, 2);
        addCommand(E);
        addCommand(C);
        setCommandListener(this);
        q = true;
        J = new Thread(this);
        J.start();
        _mthif(o, k);
    }

    private void _mthif()
    {
        if(H == null)
            return;
        Object obj = null;
        try
        {
            if(H.getNumRecords() == 0)
            {
                ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
                DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
                try
                {
                    dataoutputstream.writeInt(0);
                    dataoutputstream.writeBoolean(false);
                }
                catch(IOException ioexception) { }
                byte abyte1[] = bytearrayoutputstream.toByteArray();
                H.addRecord(abyte1, 0, abyte1.length);
            } else
            {
                byte abyte0[] = H.getRecord(1);
                if(abyte0 != null)
                {
                    ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0);
                    DataInputStream datainputstream = new DataInputStream(bytearrayinputstream);
                    o = datainputstream.readInt();
                    k = datainputstream.readBoolean();
                } else
                {
                    o = 0;
                    k = false;
                }
            }
        }
        catch(Exception exception) { }
    }

    private Image a(Image image, int i1, int j1, int k1, int l1)
    {
        Image image1 = Image.createImage(i1, j1);
        Graphics g1 = image1.getGraphics();
        com.whkjava.a.a.a.a(g1, image, -(k1 % l1) * i1, 0);
        return image1;
    }

    private boolean _mthint()
    {
        a = com.whkjava.a.a.a.a("/imgs/bom.png");
        p = new Image[8];
        for(int i1 = 0; i1 < p.length; i1++)
            p[i1] = com.whkjava.a.a.a.a(String.valueOf(String.valueOf((new StringBuffer("/imgs/awa")).append(i1 + 1).append(".png"))));

        c = new Image[10];
        Image image = com.whkjava.a.a.a.a("/imgs/num.png");
        for(int j1 = 0; j1 < c.length; j1++)
            c[j1] = a(image, 8, 16, j1, 10);

        _fldvoid = new Image[5];
        for(int k1 = 0; k1 < _fldvoid.length; k1++)
            _fldvoid[k1] = com.whkjava.a.a.a.a(String.valueOf(String.valueOf((new StringBuffer("/imgs/bub")).append(k1 + 1).append(".png"))));

        return true;
    }

    public boolean _mthfor()
    {
        _fldfor = com.whkjava.a.a.a.a("/imgs/bg.png");
        _fldif = com.whkjava.a.a.a.a("/imgs/sg.png");
        _flddo = Image.createImage(_fldif.getWidth(), _fldif.getHeight());
        z = _flddo.getGraphics();
        return true;
    }

    public void _mthif(int i1, boolean flag)
    {
        _fldelse = 0;
        _fldchar = 0;
        K = 0;
        I = 0;
        G = 0;
        N = 0;
        F = 0;
        L = 0xbbb61;
        O = 21;
        j = false;
        h = false;
        n = 0;
        m = 0;
        l = 0;
        B = 0;
        A = 0;
        g = false;
        e = false;
        o = i1;
        k = flag;
        P = p[0].getWidth();
        if(_fldnull == null)
            _fldnull = new c();
        com.whkjava.popo.c._mthtry();
        com.whkjava.popo.c._mthbyte();
        a(z, 0);
        i = true;
        if(!J.isAlive())
        {
            J = new Thread(this);
            J.start();
        }
        q = false;
    }

    private void a(Graphics g1)
    {
        int i1 = Font.getDefaultFont().getHeight();
        g1.setColor(0xffff00);
        g1.drawString("GAME", (_fldif.getWidth() - Font.getDefaultFont().stringWidth("GAME")) / 2 + 4, 32, 20);
        g1.drawString("OVER", (_fldif.getWidth() - Font.getDefaultFont().stringWidth("OVER")) / 2 + 4, 34 + i1, 20);
    }

    private void a(Graphics g1, int i1)
    {
        int j1 = 0;
        int k1 = N;
        int l1 = F & 0xff;
        if(k1 >= ((L >> I * 2 & 3) + 3) - 2)
        {
            if(k1 == ((L >> I * 2 & 3) + 3) - 2)
            {
                if((l1 & 3) == 3)
                    j1 = 1;
            } else
            if((l1 & 1) == 1)
                j1 = 1;
            if(l1 >= 240)
                F = 0;
            else
                F++;
        }
        g1.drawImage(_fldif, 0, 0, 20);
        e = false;
        for(int i2 = 9; i2 >= 0; i2--)
        {
            int j2 = 0;
            if(c._fldnew[5 + 6 * i2] == -1)
                j2 = P / 2;
            for(int k2 = 0; k2 < 6; k2++)
            {
                int l2 = k2 + 6 * i2;
                int i3 = c._fldnew[l2];
                if(i3 <= 0)
                    continue;
                if((i3 & 0x10) == 16)
                {
                    if(_fldchar == 4)
                    {
                        i3 &= 0xf;
                        g1.drawImage(a, k2 * P + j2, i2 * P, 20);
                    } else
                    {
                        i3 &= 0xf;
                        g1.drawImage(p[i3 - 1], k2 * P + j2, i2 * P + P / 2, 20);
                    }
                    com.whkjava.popo.c._mthdo(l2);
                    continue;
                }
                i3 &= 0xf;
                if(_fldchar == -1)
                {
                    if(i2 >= i1)
                        g1.drawImage(p[7], k2 * P + j2, i2 * P, 20);
                    else
                        g1.drawImage(p[i3 - 1], k2 * P + j2, i2 * P, 20);
                    continue;
                }
                g1.drawImage(p[i3 - 1], k2 * P + j2, i2 * P + j1, 20);
                if(i2 > 5)
                    e = true;
            }

        }

        _mthdo(g1);
    }

    public void _mthdo(Graphics g1)
    {
        int i1 = c._fldlong - 1;
        g1.drawImage(p[i1], _flddo.getWidth() - P, _flddo.getHeight() - P, 20);
        if(_fldchar >= 0)
        {
            g1.drawImage(_fldvoid[B], 0, _flddo.getHeight() - _fldvoid[B].getHeight(), 20);
            if(B > 0)
                B = 0;
        } else
        {
            g1.drawImage(_fldvoid[4], 0, _flddo.getHeight() - _fldvoid[B].getHeight(), 20);
        }
        if(g)
        {
            O = 21;
            g = false;
        }
        int j1 = 28 + (c._fldif[O] << 4) / 1000 + -4;
        int k1 = 84 + (c.b[O] << 4) / 1000 + -4;
        i1 = 28 + (c._fldif[(21 - O) + 21] * 8) / 1000 + -4;
        int l1 = 84 + (c.b[(21 - O) + 21] * -8) / 1000 + -4;
        g1.setColor(255, 255, 0);
        g1.drawLine(j1, k1, i1, l1);
        g1.drawLine(j1, k1, y[O][0] + -4, y[O][1] + -4);
        g1.drawLine(j1, k1, x[O][0] + -4, x[O][1] + -4);
        if(i && _fldchar < 3)
        {
            int i2 = c._fldnull - 1;
            g1.drawImage(p[i2], c._fldtry - P / 2, c._fldfor - P / 2, 20);
        } else
        if(_fldchar == 0)
            g1.drawImage(p[c._fldnull - 1], c._fldtry - P / 2, c._fldfor - P / 2, 20);
    }

    private void _mthif(Graphics g1)
    {
        int i1 = K + 1;
        int j1 = n;
        if(j1 > 0x1869f)
            j1 = 0x1869f;
        if(n > o)
        {
            o = n;
            a(o, k);
            a();
        }
        int k1 = o;
        if(k1 > 0x1869f)
            k1 = 0x1869f;
        try
        {
            char ac[] = Integer.toString(i1).toCharArray();
            int l1 = ac.length;
            for(int i2 = 0; i2 < l1; i2++)
                g1.drawImage(c[Character.digit(ac[i2], 10)], 80 + (5 - (l1 - i2)) * 8, 24, 20);

            ac = Integer.toString(j1).toCharArray();
            l1 = ac.length;
            for(int j2 = 0; j2 < l1; j2++)
                g1.drawImage(c[Character.digit(ac[j2], 10)], 80 + (5 - (l1 - j2)) * 8, 58, 20);

            ac = Integer.toString(k1).toCharArray();
            l1 = ac.length;
            for(int k2 = 0; k2 < l1; k2++)
                g1.drawImage(c[Character.digit(ac[k2], 10)], 80 + (5 - (l1 - k2)) * 8, 92, 20);

        }
        catch(Exception exception) { }
    }

    public void a(int i1, boolean flag)
    {
        o = i1;
        k = flag;
    }

    public void a()
    {
        if(H == null)
            return;
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
        DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
        try
        {
            dataoutputstream.writeInt(o);
            dataoutputstream.writeBoolean(k);
        }
        catch(IOException ioexception) { }
        byte abyte0[] = bytearrayoutputstream.toByteArray();
        try
        {
            H.setRecord(1, abyte0, 0, abyte0.length);
        }
        catch(RecordStoreException recordstoreexception) { }
    }

    public void commandAction(Command command, Displayable displayable)
    {
        if(command == C)
            M.notifyDestroyed();
        else
        if(command == E)
        {
            t = true;
            removeCommand(E);
            addCommand(v);
        } else
        if(command == v)
        {
            t = false;
            removeCommand(v);
            addCommand(E);
        }
        if(command == w)
        {
            _mthnew();
            removeCommand(w);
            addCommand(E);
        }
    }

    protected void hideNotify()
    {
        t = true;
    }

    protected void showNotify()
    {
        t = false;
        _mthdo();
    }

    public void _mthdo()
    {
        r = true;
        if(_fldchar < 0)
        {
            a(z, 0);
            a(z);
        }
        repaint();
        serviceRepaints();
    }

    public void _mthnew()
    {
        _mthif(o, k);
        repaint();
    }

    public void run()
    {
        byte byte0 = 0;
        while(q) 
            try
            {
                Thread.sleep(100L);
            }
            catch(Exception exception) { }
        do
        {
            if(!i)
                break;
            while(t) 
                try
                {
                    Thread.sleep(100L);
                }
                catch(Exception exception1) { }
            try
            {
                if(_fldchar == 4)
                    Thread.sleep(100L);
                else
                if(_fldchar == 5)
                    Thread.sleep(200L);
                else
                    Thread.sleep(10L);
            }
            catch(Exception exception2) { }
            if(_fldchar == 2)
            {
                int i1 = 0;
                do
                {
                    if(i1 >= 8)
                        break;
                    int j2;
                    if((j2 = com.whkjava.popo.c._mthnew()) < 2)
                    {
                        if(j2 == 0)
                            _fldchar = 3;
                        break;
                    }

⌨️ 快捷键说明

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