www.pudn.com > BlackCross.rar > hiScore.java


import java.io.*; 
import javax.microedition.rms.*; 
 
class hiScore 
{ 
    int score[] = { 
            16000, 8000, 4000, 2000, 1000 
        }; 
    String namn[] = { 
            "MMT", "AMD", "TYS", "LKT", "MKT" 
        }; 
    private RecordStore recordStore; 
         
    public hiScore() 
    { 
        recordStore = null; 
        try 
        { 
            recordStore = RecordStore.openRecordStore("cbhs.set", true); 
        } 
        catch(RecordStoreException recordstoreexception) 
        { 
            System.out.println(recordstoreexception); 
            recordstoreexception.printStackTrace(); 
        } 
        try 
        { 
            ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(recordStore.getRecord(1)); 
            DataInputStream datainputstream = new DataInputStream(bytearrayinputstream); 
            try 
            { 
                for(int i = 0; i < 5; i++) 
                { 
                    score[i] = datainputstream.readInt(); 
                    namn[i] = datainputstream.readUTF(); 
                } 
 
            } 
            catch(EOFException eofexception) 
            { 
                System.out.println(eofexception); 
                eofexception.printStackTrace(); 
            } 
            catch(IOException ioexception) 
            { 
                System.out.println(ioexception); 
                ioexception.printStackTrace(); 
            } 
        } 
        catch(RecordStoreNotOpenException recordstorenotopenexception) { } 
        catch(InvalidRecordIDException invalidrecordidexception) 
        { 
            createRMS(); 
        } 
        catch(RecordStoreException recordstoreexception1) { } 
    } 
 
    public void close() 
    { 
        saveHiScores(); 
        try 
        { 
            recordStore.closeRecordStore(); 
        } 
        catch(RecordStoreException recordstoreexception) { } 
    } 
 
    public void createRMS() 
    { 
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(); 
        DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream); 
        try 
        { 
            for(int i = 0; i < 5; i++) 
            { 
                dataoutputstream.writeInt(score[i]); 
                dataoutputstream.writeUTF(namn[i]); 
            } 
 
        } 
        catch(IOException ioexception) 
        { 
            System.out.println(ioexception); 
            ioexception.printStackTrace(); 
        } 
        byte abyte0[] = bytearrayoutputstream.toByteArray(); 
        try 
        { 
            recordStore.addRecord(abyte0, 0, abyte0.length); 
        } 
        catch(RecordStoreException recordstoreexception) 
        { 
            System.out.println(recordstoreexception); 
            recordstoreexception.printStackTrace(); 
        } 
    } 
 
    public void saveHiScores() 
    { 
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(); 
        DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream); 
        try 
        { 
            for(int i = 0; i < 5; i++) 
            { 
                dataoutputstream.writeInt(score[i]); 
                dataoutputstream.writeUTF(namn[i]); 
            } 
 
        } 
        catch(IOException ioexception) 
        { 
            System.out.println(ioexception); 
            ioexception.printStackTrace(); 
        } 
        byte abyte0[] = bytearrayoutputstream.toByteArray(); 
        try 
        { 
            recordStore.setRecord(1, abyte0, 0, abyte0.length); 
        } 
        catch(RecordStoreException recordstoreexception) 
        { 
            System.out.println(recordstoreexception); 
            recordstoreexception.printStackTrace(); 
        } 
    } 
 
    public int checkForHiscore(int i) 
    { 
        for(int j = 0; j < 5; j++) 
            if(i >= score[j]) 
            { 
                for(int k = 3; k >= j; k--) 
                { 
                    score[k + 1] = score[k]; 
                    namn[k + 1] = namn[k]; 
                } 
 
                score[j] = i; 
                return j; 
            } 
 
        return -1; 
    } 
 
    public void setName(int i, String s) 
    { 
        namn[i] = s; 
    } 
 
    public String getName(int i) 
    { 
        return namn[i]; 
    } 
 
    public String getScore(int i) 
    { 
        return "" + score[i]; 
    } 
 
     
}