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

📄 sa.java

📁 用J2ME开发的RPG游戏
💻 JAVA
字号:
import javax.microedition.rms.*;
import java.lang.String;
import java.io.*;
public class SA
{
	RecordStore sa=null;//定义临时数据存储器
	byte[] tempdata;//临时存储数据的字节
	SA()
	{
	}
	//检测暂存数据库是否打开
	public  boolean tO()
	{
		boolean o=false;
		try
		{
			sa=RecordStore.openRecordStore("temp",true);
			RecordEnumeration re=sa.enumerateRecords(null,null,false);
			if(re.hasNextElement())
			o=true;
			else
			o=false;
			close();
		}
		catch(RecordStoreException rse)
		{
		}
		return(o);
	}	
	//保存暂存数据
	public void s()
	{
		int i;
		tempdata=new byte[35];		
		try
		{			
			tempdata[0]=(byte)(GM.mgc.l>>8&0xff);
			tempdata[1]=(byte)(GM.mgc.l&0xff);
			tempdata[2]=(byte)(GM.mgc.m>>8&0xff);
			tempdata[3]=(byte)(GM.mgc.m&0xff);
			tempdata[4]=(byte)(GM.mgc.le);
			tempdata[5]=(byte)(GM.mgc.sp);
			tempdata[6]=(byte)(GM.mgc.ex>>16&0xff);
			tempdata[7]=(byte)(GM.mgc.ex>>8&0xff);
			tempdata[8]=(byte)(GM.mgc.ex&0xff);
			tempdata[9]=(byte)(GM.mgc.gold>>8&0xff);
			tempdata[10]=(byte)(GM.mgc.gold&0xff);
			tempdata[11]=(byte)((GM.mgc.task2?4:0)+(GM.mgc.task?2:0)+(GM.mgc.boat?1:0));
			tempdata[12]=(byte)(((GM.mgc.dlg[0]?1:0)<<6&0xff)+((GM.mgc.dlg[1]?1:0)<<5&0xff)
			+((GM.mgc.dlg[2]?1:0)<<4&0xff)+((GM.mgc.dlg[3]?1:0)<<3&0xff)+((GM.mgc.dlg[4]?1:0)<<2&0xff)
			+((GM.mgc.dlg[5]?1:0)<<1&0xff)+((GM.mgc.dlg[6]?1:0)&0xff));
			for(i=0;i<11;i++)
			tempdata[13+i]=(byte)(GM.mgc.s[i]);
			for(i=0;i<5;i++)
			tempdata[24+i]=(byte)(GM.mgc.tn[i]);
			for(i=0;i<6;i++)
			tempdata[29+i]=(byte)(GM.mgc.weapon[i]);														
			if(tO())
			{
				d();
				sa=RecordStore.openRecordStore("temp",true);
				sa.addRecord(tempdata,0,tempdata.length);	
				close();
			}
			else
			{
				sa=RecordStore.openRecordStore("temp",true);
				sa.addRecord(tempdata,0,tempdata.length);
				close();
			}
			tempdata=null;		
		}
		catch(java.lang.NullPointerException npe)
		{
		}
		catch(javax.microedition.rms.RecordStoreException rec)
		{
		}
	}
	//读入暂存数据
	public void r()
	{
		int i;
		try
		{
			System.out.println("in1");
			sa=RecordStore.openRecordStore("temp",true);
			tempdata=new byte[35];			
			RecordEnumeration re=sa.enumerateRecords(null,null,false);
			int nx=re.nextRecordId();
			tempdata=sa.getRecord(nx);
			GM.mgc.l=(tempdata[0]<<8&0xff00)+(tempdata[1]&0xff);
			GM.mgc.m=(tempdata[2]<<8&0xff00)+(tempdata[3]&0xff);
			GM.mgc.le=tempdata[4]&0xff;
			GM.mgc.sp=tempdata[5]&0xff;
			GM.mgc.ex=(tempdata[6]<<16&0xff0000)+(tempdata[7]<<8&0xff00)+(tempdata[8]&0xff);
			GM.mgc.gold=(tempdata[9]<<8&0xff00)+(tempdata[10]&0xff);
			GM.mgc.task2=(tempdata[11]>>2&0x00000001)==1?true:false;
			GM.mgc.task=(tempdata[11]>>1&0x00000001)==1?true:false;
			GM.mgc.boat=(tempdata[11]&0x00000001)==1?true:false;
			for(i=0;i<7;i++)
			GM.mgc.dlg[i]=(tempdata[12]>>(6-i)&0x00000001)==1?true:false;
			for(i=0;i<11;i++)
			GM.mgc.s[i]=tempdata[13+i]&0xff;
			for(i=0;i<5;i++)
			GM.mgc.tn[i]=tempdata[24+i]&0xff;
			for(i=0;i<6;i++)
			GM.mgc.weapon[i]=tempdata[29+i];
			tempdata=null;
			close();
		}
		catch(Exception rse)
		{
			System.out.println(rse.toString());
		}					
	}		
	//删除数据库纪录
	public void d()
	{
		try
		{
			RecordStore.deleteRecordStore("temp");
		}
		catch(RecordStoreException e)
		{
			System.err.println(e.getMessage());
		}		
	}									        		
        //关闭数据库(每次打开数据库使用后要及时关闭数据库,避免删除数据库操作出错)
   	public void close()
    	{
		try 
		{
	 		if(sa!=null)
	 	    	{
				sa.closeRecordStore();
	 	    	}		
		} 
		catch (RecordStoreException ex) 
		{
		}
    	}		
}

⌨️ 快捷键说明

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