📄 swordstore.java
字号:
import javax.microedition.rms.*;
import java.lang.String;
import java.io.*;
public class SwordStore
{
private RecordStore rs=null;
private byte[] data;
public SwordStore()
{
}
public boolean open()
{
boolean canOpen=false;
try
{
rs=RecordStore.openRecordStore("sword",true);
RecordEnumeration re=rs.enumerateRecords(null,null,false);
if(re.hasNextElement())
canOpen=true;
else
canOpen=false;
close();
}
catch(RecordStoreException rse)
{
}
return(canOpen);
}
public void save()
{
int i;
data=new byte[35];
try
{
data[0]=(byte)(MenuCanvas.swordCanvas.life>>8&0xff);
data[1]=(byte)(MenuCanvas.swordCanvas.life&0xff);
data[2]=(byte)(MenuCanvas.swordCanvas.energy>>8&0xff);
data[3]=(byte)(MenuCanvas.swordCanvas.energy&0xff);
data[4]=(byte)(MenuCanvas.swordCanvas.level);
data[5]=(byte)(MenuCanvas.swordCanvas.skillpoint);
data[6]=(byte)(MenuCanvas.swordCanvas.experience>>16&0xff);
data[7]=(byte)(MenuCanvas.swordCanvas.experience>>8&0xff);
data[8]=(byte)(MenuCanvas.swordCanvas.experience&0xff);
data[9]=(byte)(MenuCanvas.swordCanvas.gold>>8&0xff);
data[10]=(byte)(MenuCanvas.swordCanvas.gold&0xff);
data[11]=(byte)((MenuCanvas.swordCanvas.isTask2?4:0)+(MenuCanvas.swordCanvas.isTask?2:0)+(MenuCanvas.swordCanvas.hasBoat?1:0));
data[12]=(byte)(((MenuCanvas.swordCanvas.dlg[0]?1:0)<<6&0xff)+((MenuCanvas.swordCanvas.dlg[1]?1:0)<<5&0xff)
+((MenuCanvas.swordCanvas.dlg[2]?1:0)<<4&0xff)+((MenuCanvas.swordCanvas.dlg[3]?1:0)<<3&0xff)+((MenuCanvas.swordCanvas.dlg[4]?1:0)<<2&0xff)
+((MenuCanvas.swordCanvas.dlg[5]?1:0)<<1&0xff)+((MenuCanvas.swordCanvas.dlg[6]?1:0)&0xff));
for(i=0;i<11;i++)
data[13+i]=(byte)(MenuCanvas.swordCanvas.skillArray[i]);
for(i=0;i<5;i++)
data[24+i]=(byte)(MenuCanvas.swordCanvas.tn[i]);
for(i=0;i<6;i++)
data[29+i]=(byte)(MenuCanvas.swordCanvas.weapon[i]);
if(open())
{
delete();
rs=RecordStore.openRecordStore("sword",true);
rs.addRecord(data,0,data.length);
close();
}
else
{
rs=RecordStore.openRecordStore("sword",true);
rs.addRecord(data,0,data.length);
close();
}
data=null;
}
catch(java.lang.NullPointerException npe)
{
}
catch(javax.microedition.rms.RecordStoreException rec)
{
}
}
public void read()
{
int i;
try
{
rs=RecordStore.openRecordStore("sword",true);
data=new byte[35];
RecordEnumeration re=rs.enumerateRecords(null,null,false);
int nx=re.nextRecordId();
data=rs.getRecord(nx);
MenuCanvas.swordCanvas.life=(data[0]<<8&0xff00)+(data[1]&0xff);
MenuCanvas.swordCanvas.energy=(data[2]<<8&0xff00)+(data[3]&0xff);
MenuCanvas.swordCanvas.level=data[4]&0xff;
MenuCanvas.swordCanvas.skillpoint=data[5]&0xff;
MenuCanvas.swordCanvas.experience=(data[6]<<16&0xff0000)+(data[7]<<8&0xff00)+(data[8]&0xff);
MenuCanvas.swordCanvas.gold=(data[9]<<8&0xff00)+(data[10]&0xff);
MenuCanvas.swordCanvas.isTask2=(data[11]>>2&0x00000001)==1?true:false;
MenuCanvas.swordCanvas.isTask=(data[11]>>1&0x00000001)==1?true:false;
MenuCanvas.swordCanvas.hasBoat=(data[11]&0x00000001)==1?true:false;
for(i=0;i<7;i++)
MenuCanvas.swordCanvas.dlg[i]=(data[12]>>(6-i)&0x00000001)==1?true:false;
for(i=0;i<11;i++)
MenuCanvas.swordCanvas.skillArray[i]=data[13+i]&0xff;
for(i=0;i<5;i++)
MenuCanvas.swordCanvas.tn[i]=data[24+i]&0xff;
for(i=0;i<6;i++)
MenuCanvas.swordCanvas.weapon[i]=data[29+i];
data=null;
close();
}
catch(Exception rse)
{
System.out.println(rse.toString());
}
}
public void delete()
{
try
{
RecordStore.deleteRecordStore("sword");
}
catch(RecordStoreException e)
{
System.err.println(e.getMessage());
}
}
public void close()
{
try
{
if(rs!=null)
{
rs.closeRecordStore();
}
}
catch (RecordStoreException experience)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -