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

📄 score.java

📁 MMAE1.0开发者版源代码 用于扩展java me移动开发引擎,这是1.0版的源码.
💻 JAVA
字号:
/**
*游戏得分排行榜类
*@CopyRight:Move2008
*@Author:bedlang
*@Version 1.0 2003/7/22
*/

package mmae.game;

import mmae.util.RecordDB;

public class Score {

	private int topX;
	private RecordDB db = new RecordDB();
	private String dbName;
	private int baseValue=0;

	public String[] playerName;
	public int[] playerScore;

	
	/**
	*构造函数,InitTopX为总的排名数,BaseValue为默认的排行分
	*/
	public Score(String DBName, int InitTopX, int BaseValue)
	{
		dbName = DBName;
		db.open(DBName);
		baseValue = BaseValue;
		topX = db.getNumRecords();
		if (topX<=0) init(InitTopX);
		fill();
		db.close();
	}
	
	//初使化记录库
	private void init(int t)
	{
		topX = t;
		for(int i=0;i<t;i++)
			db.addRecord("XXX"+String.valueOf((topX-i)*baseValue));
	}
	
	//将库中数据充满数组
	private void fill()
	{
		playerName = new String[topX];
		playerScore = new int[topX];		
		String s=null;
		for(int i=0;i<topX;i++)
		{
			s = db.getRecord(i+1);
			playerName[i] = db.getField(s,1,"");
			playerScore[i] = Integer.valueOf(db.getField(s,2,"")).intValue();
		}			
	}	

	/**
	 * 得分Score是否在TopX内
	 */
	public boolean isHighScore(int Score){
		for(int i = 0; i < topX; i++){
			if(playerScore[i]<Score){
				return true;
			}
		}
		return false;
	}

	/**
	 * 插入并保存得分
	 */
	public void insert(String Name, int Score){
		boolean setscore=false;

		for(int i=0;i<topX && !setscore;i++){
			if(playerScore[i]<Score){
				for(int j=topX-1;j>i;j--){
					playerName[j] = playerName[j-1];
					playerScore[j] = playerScore[j-1];
				}	
				playerName[i] = Name;
				playerScore[i] = Score;
				setscore=true;
			}
		}
		
		//保存
		db.open(dbName);
		for(int i=0;i<topX;i++)
			db.setRecord(i+1, playerName[i]+""+playerScore[i]);
		db.close();
	}
	
	/**
	 * 得到当前得分的排行人次
	 */
	public int getTopX()
	{
		return topX;
	}

}

⌨️ 快捷键说明

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