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

📄 seapersistence.java

📁 一款j2me的钓鱼游戏,大家可以自由设计鱼.可以部署在eclipse,netbeans.
💻 JAVA
字号:
// 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 org.cesar.inmotion.sea;

import java.io.*;
import javax.microedition.rms.RecordStore;

public class SeaPersistence
{

    private static final String SEA_DB = "Sea_DB";
    private static SeaPersistence instance;
    private RecordStore recordStore;
    private int scoreValues[] = {
        0, 0, 0
    };
    private String scoreNames[] = {
        "AAA", "BBB", "CCC"
    };
    private byte level;

    public SeaPersistence()
    {
        level = 0;
        load();
    }

    public String getScoreName(int i)
    {
        return scoreNames[i];
    }

    public int getScoreValue(int i)
    {
        return scoreValues[i];
    }

    public static SeaPersistence getInstance()
    {
        if(instance == null)
            instance = new SeaPersistence();
        return instance;
    }

    public void load()
    {
        try
        {
            if(recordStore == null)
                recordStore = RecordStore.openRecordStore("Sea_DB", true);
            if(recordStore != null && recordStore.getNumRecords() > 0)
                unpack(recordStore.getRecord(1));
        }
        catch(Exception exception) { }
    }

    public boolean save()
    {
        boolean flag = false;
        if(recordStore != null)
        {
            byte abyte0[] = pack();
            try
            {
                if(recordStore.getNumRecords() == 0)
                    recordStore.addRecord(abyte0, 0, abyte0.length);
                else
                    recordStore.setRecord(1, abyte0, 0, abyte0.length);
                flag = true;
            }
            catch(Exception exception) { }
        }
        return flag;
    }

    public void setScore(String s, int i)
    {
        byte byte0 = (byte)s.length();
        for(int j = 0; j < 3 - byte0; j++)
            s = s + " ";

        for(int k = 0; k < scoreValues.length; k++)
            if(scoreValues[k] < i)
            {
                for(int l = scoreValues.length - 1; l > k; l--)
                {
                    scoreNames[l] = scoreNames[l - 1];
                    scoreValues[l] = scoreValues[l - 1];
                }

                scoreNames[k] = s;
                scoreValues[k] = i;
                k = scoreValues.length;
            }

        save();
    }

    public void close()
    {
        if(recordStore != null)
            try
            {
                recordStore.closeRecordStore();
            }
            catch(Exception exception) { }
    }

    public static void resetRecordStore(String s)
        throws Exception
    {
        RecordStore.deleteRecordStore(s);
    }

    public int getScoreNumber()
    {
        return scoreNames.length;
    }

    private byte[] pack()
    {
        byte abyte0[] = null;
        try
        {
            ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
            DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
            boolean flag = false;
            for(int i = 0; i < scoreNames.length; i++)
                dataoutputstream.writeUTF(scoreNames[i]);

            for(int j = 0; j < scoreValues.length; j++)
                dataoutputstream.writeInt(scoreValues[j]);

            abyte0 = bytearrayoutputstream.toByteArray();
            dataoutputstream.close();
        }
        catch(Exception exception) { }
        return abyte0;
    }

    private void unpack(byte abyte0[])
    {
        try
        {
            DataInputStream datainputstream = new DataInputStream(new ByteArrayInputStream(abyte0));
            boolean flag = false;
            for(int i = 0; i < scoreNames.length; i++)
                scoreNames[i] = datainputstream.readUTF();

            for(int j = 0; j < scoreValues.length; j++)
                scoreValues[j] = datainputstream.readInt();

            datainputstream.close();
        }
        catch(Exception exception) { }
    }
}

⌨️ 快捷键说明

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