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

📄 thunderbolt.java

📁 java的一个源代码
💻 JAVA
字号:
package thunder.bolt;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class thunderBolt extends MIDlet implements CommandListener,ItemStateListener {
	private Display display;
	
	private Command cmdOption;
	private Command cmdOk;
	private Command cmdBack;
	private Command cmdExit;
	private Command quitCmd;
    private Command pauseCmd;
    
    private Form maxLeveForm;
    private Gauge gauge;
	
	private List list;
	private int leveList = 0;
	public int speed = 0;
	
	private ThunderBoltAct tbact;
	private thunderDB tdb;
	
	private String[] imageNames = {"开始游戏","最高分","游戏速度","游戏说明","关于"};
	
	public thunderBolt() {
		display = Display.getDisplay(this);
		cmdOption = new Command("操作",Command.SCREEN,1);
		cmdOk = new Command("确定",Command.OK,2);
		cmdBack = new Command("返回",Command.SCREEN,1);
		cmdExit = new Command("退出",Command.EXIT,1);
		setupImageList();
		tdb = new thunderDB();
	}
	
	private void setupImageList() {
		if(list==null) {
			list = new List("雷电游戏",List.IMPLICIT);
			list.addCommand(cmdExit);
			list.addCommand(cmdOption);
			list.setCommandListener(this);
			int lenImage = imageNames.length;
			for(int i=0;i<lenImage;i++) {
				list.append(imageNames[i],null);
			}
		}
	}
	
	
	public void startApp() {
		display.setCurrent(list);
	}
			
	public void pauseApp() {}
	
	public void destroyApp(boolean uncon) {
	}
	
	public void commandAction(Command c,Displayable d) {
		if(c==List.SELECT_COMMAND) {
			leveList = list.getSelectedIndex();
			if(leveList==4)	display.setCurrent(genAbout());
			if(leveList==3)	display.setCurrent(getGaugeForm());
			if(leveList==2) display.setCurrent(getSpeed());
			if(leveList==1) display.setCurrent(genMaxLeve());
			if(leveList==0) display.setCurrent(getGanvas());
		}else if(c==cmdOption) {
			leveList = list.getSelectedIndex();
			if(leveList==4)	display.setCurrent(genAbout());
			if(leveList==3)	display.setCurrent(getGaugeForm());
			if(leveList==2) display.setCurrent(getSpeed());
			if(leveList==1) display.setCurrent(genMaxLeve());
			if(leveList==0) display.setCurrent(getGanvas());
		}else if(c==cmdBack) {
			display.setCurrent(list);
		}else if(c==cmdExit) {
			destroyApp(false);
			notifyDestroyed();
		}else if(c==quitCmd) {
			if(tbact!=null) {
				if(tdb.compareRecordStore(tbact.getKillPoint())) 				  
				  display.setCurrent(genMaxLeve());
				else 
				  display.setCurrent(list);
				tbact.setDestroy();
				tbact = null;
			}
		}else if(c==pauseCmd) {
			if(tbact!=null) {				
			  if(tbact.isDie()) {
			  	tbact.setDie(false);
    	      }else{
    	      	tbact.setDie(true);
    	      }
			}
		}
	}
	
	private Alert genAbout() {
		Alert alert = new Alert("关于游戏");
		alert.setString("2002 - 2004\nEmail: ");
		alert.setTimeout(Alert.FOREVER);
		
		return alert;
	}
	
	private Canvas genMaxLeve() {
		maxLeveCanvas mLC = new maxLeveCanvas(tdb.getRecordStoreData());
		mLC.addCommand(cmdOk);
		mLC.addCommand(cmdBack);
		mLC.setCommandListener(this);
		return mLC;
	}
	
	private Canvas getGanvas() {
		if(tbact==null) {		
			  tbact = new ThunderBoltAct();
			  tbact.setSpeed(this.speed);
		      quitCmd = new Command("退出",Command.EXIT,2);
			  pauseCmd = new Command("暂停",Command.EXIT,1);            
		      tbact.addCommand(pauseCmd);
		      tbact.addCommand(quitCmd);
		      tbact.setCommandListener(this);
		}
		return tbact;
	}
	
	private Alert getGaugeForm() {
		Alert alert = new Alert("游戏说明");
		alert.setString(" 此游戏是彩屏空战游戏,可用" +
		                "方向键控制我机的移动," +
		                "也可以用 2键(向上), 4键(向左), " +
		                "6键(向右), 8键(向下), 5键(发射) " +
		                "控制,按(#)键可以清除所有敌机");
		alert.setTimeout(Alert.FOREVER);
		
		return alert;
	}
	
	private Form getSpeed() {
		if(tbact!=null)	this.speed = tbact.getSpeed();	
		Form form = new Form("游戏速度");				
		gauge = new Gauge("速度值:",true,6,speed);
		gauge.setValue(this.speed);
		form.append(gauge);
		form.addCommand(cmdBack);
		form.setCommandListener(this);
		form.setItemStateListener(this);
		return form;
	}
	
	public void itemStateChanged(Item item) {
		Gauge ga = (Gauge)item;
		gauge.setValue(ga.getValue());
		this.speed = gauge.getValue();
	}
	
	class maxLeveCanvas extends Canvas {
		private String iMax = "0";
		private Image maxImage;
		public maxLeveCanvas(String iMax) {
			this.iMax = iMax;
			try {
				maxImage = Image.createImage("/icons/max.png");
		    }catch(Exception e) {}
		}
		
		public void paint(Graphics g) {			
			g.setColor(145,213,175);
			g.fillRect(0,0,100,100);
			g.setColor(0,47,94);
			g.drawString("最高分数",1,0,Graphics.LEFT|Graphics.TOP);
			g.setColor(0,0,64);
			g.drawLine(0,15,100,15);
			g.drawLine(0,16,100,16);
			g.setColor(255,0,0);
			g.setFont(Font.getFont(64,2,16));
			g.drawImage(maxImage,5,40,Graphics.LEFT|Graphics.TOP);
			g.drawString(iMax + " 分",50,40,Graphics.LEFT|Graphics.TOP);
		}
	}
}

⌨️ 快捷键说明

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