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];
}
}