📄 pinguscores.java
字号:
import java.io.*;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
class PinguScores
{
public static final int NUM_RECORDS = 5;
private static RecordStore rs = null;
private static int score[] = new int[5];
private static String scoreName[] = new String[5];
private static boolean valid = true;
public static void doFinalize()
{
if(valid && rs != null)
{
for(int i = 0; i < 5; i++)
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
try
{
dataoutputstream.writeInt(score[i]);
dataoutputstream.writeUTF(scoreName[i]);
}
catch(IOException ioexception)
{
valid = false;
}
byte abyte0[] = bytearrayoutputstream.toByteArray();
try
{
rs.setRecord(i + 1, abyte0, 0, abyte0.length);
}
catch(RecordStoreException recordstoreexception1)
{
valid = false;
}
bytearrayoutputstream = null;
dataoutputstream = null;
}
try
{
rs.closeRecordStore();
}
catch(RecordStoreException recordstoreexception)
{
valid = false;
}
}
rs = null;
}
public PinguScores()
{
if(valid)
{
for(int i = 0; i < 5; i++)
{
score[i] = 0;
scoreName[i] = " ";
}
if(rs == null)
try
{
rs = RecordStore.openRecordStore("PinguScores", true);
if(rs.getNumRecords() != 5)
{
rs.closeRecordStore();
rs = null;
RecordStore.deleteRecordStore("PinguScores");
rs = RecordStore.openRecordStore("PinguScores", true);
for(int j = 0; j < 5; j++)
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
try
{
dataoutputstream.writeInt(score[j]);
dataoutputstream.writeUTF(scoreName[j]);
}
catch(IOException ioexception)
{
valid = false;
}
byte abyte0[] = bytearrayoutputstream.toByteArray();
rs.addRecord(abyte0, 0, abyte0.length);
bytearrayoutputstream = null;
dataoutputstream = null;
}
}
}
catch(RecordStoreException recordstoreexception)
{
rs = null;
valid = false;
}
if(valid)
{
for(int k = 0; k < 5; k++)
try
{
ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(rs.getRecord(k + 1));
DataInputStream datainputstream = new DataInputStream(bytearrayinputstream);
try
{
score[k] = datainputstream.readInt();
scoreName[k] = datainputstream.readUTF();
}
catch(IOException ioexception1)
{
valid = false;
}
}
catch(RecordStoreException recordstoreexception1)
{
valid = false;
}
}
}
}
public static void setScore(int i, String s)
{
for(int j = 0; j < 5; j++)
if(i > score[j])
{
for(int k = 4; k > j; k--)
if(score[k - 1] > 0)
{
score[k] = score[k - 1];
scoreName[k] = scoreName[k - 1];
}
score[j] = i;
if(s != null)
scoreName[j] = s;
else
scoreName[j] = " ";
return;
}
}
public static int getScore(int i)
{
if(i >= 0 && i < 5)
return score[i];
else
return -1;
}
public static String getScoreName(int i)
{
if(i >= 0 && i < 5)
return scoreName[i];
else
return " ";
}
public static boolean isHighScore(int i)
{
for(int j = 0; j < 5; j++)
if(i > score[j])
return true;
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -