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

📄 gamerms.java

📁 是男人就下100层的游戏的移植到手机上的
💻 JAVA
字号:
//package src;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;


public class GameRms {

	public String name[]=new String[6];
	public int score[]=new int[6];
	public String tname[]=new String[5];
	public int tscore[]=new int[5];
	
	RecordStore rs;
	String dbname="game_top 5";
	public GameRms()
	{
		for (int i=0;i<6;i++)
		{
			name[i]="No name";
			score[i]=0;
		}
	}
	public boolean inTop(int n)
	{
		for (int i=0;i<5;i++)
		{
			if (n>score[i]) return true;
		}
		return false;
	}
	public void readScore()
	{
//		int idnum=rs.
		try {
			rs=openRSAnyway(dbname);
			RecordEnumeration re=rs.enumerateRecords(null,null,false);
			int recs=re.numRecords();
			if (recs>5) recs=5;
			for (int i=0;i<recs;i++)
			{
					decode(re.nextRecord(),i);
			}
			rs.closeRecordStore();
		}
		catch (Exception e){}
	}
	
	public void writeScore(String n,int s)
	{
		try{
			name[5]=n;
			score[5]=s;
			
			for (int k=0;k<5;k++)
			{
				int j=0;
				int ts=score[j];
				for (int i=0;i<6;i++)
				{
					if (ts<score[i])
					{
						j=i;
//						System.out.println("ts "+ts+"<"+score[i]);
						ts=score[i];
					}
				}
				tname[k]=name[j];
				tscore[k]=score[j];
				score[j]=-1;
			}

			deleteRS(dbname);
			rs=openRSAnyway(dbname);
			for (int i=4;i>=0;i--)
			{
				name[i]=tname[i];
				score[i]=tscore[i];
				byte tmp[]=encode(i);
				
				int id=rs.addRecord(tmp,0,tmp.length);
			}
			rs.closeRecordStore();
		}
		catch(Exception e){
		}
	}
		
	public RecordStore openRSAnyway(String fname)
	{
		RecordStore rs=null;
		if (fname.length()>32) return null;
		
		try{
			rs=RecordStore.openRecordStore(fname,true);
			return rs;
		}
		catch(Exception e)
		{
			return null;
		}
	}
	
	public boolean deleteRS(String fname)
	{
		if (fname.length()>32) return false;
		
		try{
			RecordStore.deleteRecordStore(fname);
			return true;
		}
		catch(Exception e)
		{
			return false;
		}
	}

	public byte[] encode(int i)		// 写数据
	{
		byte [] result=null;
		
		try{
			ByteArrayOutputStream bos=new ByteArrayOutputStream();
			DataOutputStream dos=new DataOutputStream(bos);
			dos.writeUTF(name[i]);
			dos.writeInt(score[i]);
			result=bos.toByteArray();
			dos.close();
			bos.close();
		}
		catch( Exception e)
		{
			e.printStackTrace();
		}
		return result;
	}
	
	public void decode(byte[] data,int i)		//读数据
	{
		try
		{
			ByteArrayInputStream bis=new ByteArrayInputStream(data);
			DataInputStream dis=new DataInputStream(bis);
			
			name[i]=dis.readUTF();
			score[i]=dis.readInt();
			dis.close();
			bis.close();
		}
		catch(Exception e)
		{
			
		}
	}
}

⌨️ 快捷键说明

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