📄 controller.java
字号:
/*
*
* 创建日期 2006-5-17
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package net.wangsong;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* @author user
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Controller {
private SubMIDlet subMIDlet;
private SubCanvas subCanvas;
private MenuUI menuUI;
private Display display;
public static final byte EVENT_START = 01;
public static final byte EVENT_ABOUT = 02;
public static final byte EVENT_EXIT = 03;
public static final byte EVENT_MENU = 101;
public static final byte EVENT_MENU_GAMEOVER = 102;
public static final byte EVENT_NEXTROUND = 103;
public Controller(SubMIDlet subMIDlet){
this.subMIDlet = subMIDlet;
display = Display.getDisplay(subMIDlet);
menuUI = new MenuUI(this);
this.EventHandler(EVENT_MENU);
}
public void EventHandler(byte eventID){
switch(eventID){
case EVENT_START:{
//开始游戏
if(subCanvas == null){
subCanvas = new SubCanvas(this);
}else{
}
display.setCurrent(subCanvas);
break;
}
case EVENT_ABOUT:{
//说明文件
Alert alert = new Alert("关于", "本设计为2006届一个毕业设计,游戏使用说明见文档。开发者:王劲松,蒋洪芳。指导老师:李健军.", null, AlertType.INFO);
alert.setTimeout(3000);
display.setCurrent(alert, menuUI);
break;
}
case EVENT_NEXTROUND:{
//开启一个新的线程,显示下一轮字样
//原先画布线程则更换地图信息
Thread t = new Thread(){
public void run(){
StringBuffer sbf = new StringBuffer("Round " + (SubCanvas.PLAYER_LEVEL));
display.setCurrent(new InfoCanvas(sbf){});
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
display.setCurrent(subCanvas);
subCanvas.active();
}
};
t.start();
break;
}
case EVENT_EXIT:{
//退出程序
try {
subMIDlet.destroyApp(false);
subMIDlet.notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
break;
}
case EVENT_MENU:{
display.setCurrent(menuUI);
break;
}
case EVENT_MENU_GAMEOVER:{
StringBuffer sbf = new StringBuffer("Game Over");
display.setCurrent(new InfoCanvas(sbf){});
subCanvas = null;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
display.setCurrent(menuUI);
break;
}
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -