//MiDlet1.java
package test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MIDlet1 extends MIDlet {
static MIDlet1 instance;
Displayable1 displayable = new Displayable1(Display.getDisplay(this));
public MIDlet1() {
instance = this;
}
public void startApp() {
Display.getDisplay(this).setCurrent(displayable);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
}
//Displayable1.java
package test;
import javax.microedition.lcdui.*;
public class Displayable1 extends Form implements CommandListener {
/**题目内容*/
String[] question = {
"花园里都是草。(打一植物)",
"一年后花园里还是草。(也打一植物)",
"来了一只羊。(还打一植物)",
"来了一只狼。(再打一植物)"
};
/**题目选项*/
String[][] answer = {
{"桃花","草莓","梨花","梅花"},
{"人参果","梨树","草莓","野梅花"},
{"野梅花","梨树","草莓","灌木"},
{"桃花","梅花","梨花","扬梅"}
};
/**正确答案的序号,第一个是0,依次类推*/
int[] rightAnswer={3,3,2,3};
ChoiceGroup cgQuestion;
/**当前题目编号*/
int index = 0;
/**确定按键*/
Command cmdOk;
Display display;
public Displayable1(Display display) {
super("猜谜语");
this.display = display;
//创建题目
cgQuestion = new ChoiceGroup(question[index],ChoiceGroup.EXCLUSIVE);
//填充选择项
for(int i = 0;i < 4;i++){
cgQuestion.append(answer[index][i],null);
}
append(cgQuestion);
cmdOk = new Command("确定",Command.OK,1);
addCommand(cmdOk);
setCommandListener(this);
}
public void commandAction(Command command, Displayable displayable) {
//确定按钮
if(command == cmdOk){
//获得用户的选择
int selectIndex = cgQuestion.getSelectedIndex();
//判断是否回答不正确
if(selectIndex != rightAnswer[index]){
Alert a = new Alert("猜谜语","回答错误,请仔细思考!",null,AlertType.INFO);
a.setTimeout(3000);
display.setCurrent(a);
//返回
return;
}
//如果不是最后一个题目,则显示下一题
if(index < question.length - 1){
index++;
//修改界面显示的内容
cgQuestion.setLabel(question[index]);
//修改选项的内容
for(int i = 0;i < 4;i++){
cgQuestion.set(i,answer[index][i],null);
}
}else{//显示成功界面
Alert a = new Alert("猜谜语","游戏成功!",null,AlertType.INFO);
a.setTimeout(Alert.FOREVER);
display.setCurrent(a);
}
}
}
}