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

📄 highscoreform.java

📁 用J2ME开发的卡片游戏
💻 JAVA
字号:
/**
 * 
 * 最高分界面
 * 
 * 
 */

package card;

import java.io.*;

import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordStore;

import card.stringtable.ImageStringTable;
import card.stringtable.TextString;

public class HighScoreForm extends Form implements CommandListener{

	Display display = null;
	Command cmdBack = null;
	Command cmdExit = null;
	
	StringItem siHighScore = null;
	ImageItem iiFigure = null;
	Image imgFigure = null;
	RecordStore rsInfo = null;
	String strHighScore = null;
	
	int iFigure = 0;
	
	public HighScoreForm(Display display) {
		super(TextString.getTxtHighScoreTitleString());
		this.display = display;
		cmdBack = new Command(TextString.getTxtCmdBackString(), Command.BACK, 1);
		cmdExit = new Command(TextString.getTxtCmdExitString(), Command.EXIT, 1);
		addCommand(cmdBack);
		addCommand(cmdExit);
		setCommandListener(this);
		
	}
	
	public void init() {
		boolean bSuccess = true;
		
		try {
			// 读取记录集中的最高分记录
			rsInfo = RecordStore.openRecordStore(TextString.getTxtRecordSetNameString(), true);		    		
			if (rsInfo.getNumRecords() != 0) {
				byte[] btHighScore = rsInfo.getRecord(1);
				
				ByteArrayInputStream baosInfo = new ByteArrayInputStream(btHighScore);
	    		DataInputStream disInfo = new DataInputStream(baosInfo);
	    		int iHighScore = disInfo.readInt();
	    		iFigure = disInfo.readInt();
	    		disInfo.close();
	    		strHighScore = String.valueOf(iHighScore);
			}else {
				strHighScore = TextString.getTxtNoRecordSetString();
			}
			rsInfo.closeRecordStore();
			
			// 根据记录的内容判断载入的头像
			switch (iFigure) {
				case 0:
					imgFigure = Image.createImage(ImageStringTable.getImgFigure1String());
					break;
				case 1:
					imgFigure = Image.createImage(ImageStringTable.getImgFigure2String());
					break;
				case 2:
					imgFigure = Image.createImage(ImageStringTable.getImgFigure3String());
					break;
				case 3:
					imgFigure = Image.createImage(ImageStringTable.getImgFigure4String());
					break;
				}
			iiFigure = new ImageItem(TextString.getTxtFigureString(), imgFigure, ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_VCENTER, TextString.getTxtFigureString());
		}catch (IOException e) { //图片载入错误处理
			ErrorHandling ehIOException = new ErrorHandling(display, ErrorHandling.IMGNOTFOUND);
			bSuccess = false;
		}catch (Exception e) { //记录集读取错误处理
			ErrorHandling ehIOException = new ErrorHandling(display, ErrorHandling.RECORDSETERROR);
			bSuccess = false;
		}
		
		if (bSuccess) { //载入成功则显示最高分和头像
			siHighScore = new StringItem(TextString.getTxtHighScoreString(), strHighScore, Item.PLAIN);
			append(siHighScore);
			
			if (!strHighScore.equals(TextString.getTxtNoRecordSetString())) {
				append(iiFigure);
			}		
		}
	}
	
	 public void commandAction(Command c, Displayable d) { //退出和返回按键处理
	 	if (c == cmdBack) {
			MainMenuCanvas cvsMainMenu = new MainMenuCanvas(display);
	 		display.setCurrent(cvsMainMenu);
	 		cvsMainMenu.init();
	 	}else if (c == cmdExit) {
	 		CardMainMIDlet.quitApp();
	 	}
	 }

	
}

⌨️ 快捷键说明

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