📄 menu.java
字号:
import java.io.DataInputStream;
import javax.microedition.lcdui.*;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class Menu extends List implements CommandListener {
private MIDlet midlet;
private List menu;
private List startMenu;
private Command startMenuBack;
private List optionsMenu;
private Form instructionsMenu;
private Form aboutMenu;
private Form surrenderMenu[];
public static boolean optionFlags[] = { true, true };
public boolean humanVsHuman;
private boolean stop;
private boolean languageSelect;
private int languageCode;
public static String softkeyLabelWeapon;
public static String softkeyLabelExit;
//Image startImg;
private Command GX10Command_OK = new Command("确定", 2, 1);;
public static boolean soundEnabled() {
return optionFlags[0];
}
public static boolean vibratorEnabled() {
return optionFlags[1];
}
public void commandAction(Command command, Displayable displayable) {
if (displayable == this) {
int i = this.getSelectedIndex();
if (i == 0) {
Worms.runTimes = 0;
stop = true;
//Display.getDisplay(midlet).setCurrent(startMenu);
}
if (i == 1)
Display.getDisplay(midlet).setCurrent(startMenu);
if (i == 2)
Display.getDisplay(midlet).setCurrent(optionsMenu);
if (i == 3)
Display.getDisplay(midlet).setCurrent(instructionsMenu);
if (i == 4)
Display.getDisplay(midlet).setCurrent(aboutMenu);
if (i == 5) {
Display.getDisplay(midlet).setCurrent(null);
Worms.instance.destroyApp(true);
}
} else if (displayable == menu) {
int i = menu.getSelectedIndex();
if (i == 0)
Display.getDisplay(midlet).setCurrent(startMenu);
if (i == 1)
stop = true;
if (i == 2)
Display.getDisplay(midlet).setCurrent(optionsMenu);
if (i == 3)
Display.getDisplay(midlet).setCurrent(instructionsMenu);
if (i == 4)
Display.getDisplay(midlet).setCurrent(aboutMenu);
if (i == 5) {
Display.getDisplay(midlet).setCurrent(null);
Worms.instance.destroyApp(true);
}
} else if (displayable == optionsMenu) {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
optionsMenu.getSelectedFlags(optionFlags);
int j = getSelectedIndex();
if (optionFlags[0]) {
//System.out.println("=====caodan=====");
RMS.put("worms.setup.sound", 1);
//Game.sound.close();
// Game.sound.getPlayer(1);
// Game.sound.start();
//Game.sound_THEMETUNE.start();
} else {
RMS.put("worms.setup.sound", 0);
// Game.sound.stop();
//Game.sound_THEMETUNE.stop();
}
/*if (optionFlags[1])
RMS.put("worms.setup.vibration", 1);
else
RMS.put("worms.setup.vibration", 0);*/
RMS.save();
} else if (displayable == instructionsMenu) {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
}
else if (displayable == aboutMenu) {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
}
else if (displayable == surrenderMenu[0]) {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
}
else if (displayable == surrenderMenu[1]) {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
}
else if (displayable == startMenu)
if (command != startMenuBack) {
int k = startMenu.getSelectedIndex();
if (k == 0)
humanVsHuman = true;
else if (k == 1)
humanVsHuman = false;
if (Landscape.currentLandscapeIndex < 3)
Landscape.currentLandscapeIndex++;
else
Landscape.currentLandscapeIndex = 0;
stop = true;
Worms.loadTimes = 0;
} else {
if (Worms.loadTimes != 0) {
Display.getDisplay(Worms.instance).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
}
}
public void run() {
if (languageSelect || Game.pauseLostTeam == -2)
if (Worms.loadTimes != 0) {
Display.getDisplay(midlet).setCurrent(menu);
} else {
Display.getDisplay(Worms.instance).setCurrent(this);
}
else
Display.getDisplay(Worms.instance).setCurrent(
surrenderMenu[Game.pauseLostTeam]);
languageSelect = false;
for (stop = false; !stop;) {
if (optionFlags[0] && Game.sound.isStop()) {
Game.sound.agoType = 0;
//Game.sound.getPlayer(1);
//Game.sound.start();
}
try {
Thread.sleep(10L);
} catch (Exception exception) {
}
}
}
private void init() {
try {
/*
* String s; switch (languageCode) { case 1: // '\001' s =
* "fr_utf8.txt"; Game.player = new Imp("/player_strip_fr.png", 3);
* softkeyLabelWeapon = "Arme"; break;
*
* case 2: // '\002' s = "es_utf8.txt"; Game.player = new
* Imp("/player_strip_es.png", 3); softkeyLabelWeapon = "Arma";
* break;
*
* case 3: // '\003' s = "de_utf8.txt"; Game.player = new
* Imp("/player_strip_de.png", 3); softkeyLabelWeapon = "Waffe";
* break;
*
* default: s = "en_utf8.txt"; Game.player = new
* Imp("/player_strip_en.png", 3); softkeyLabelWeapon = "Weapon";
* break; } java.io.InputStream inputstream =
* getClass().getResourceAsStream(s); DataInputStream
* datainputstream = new DataInputStream(inputstream);
* datainputstream.readUTF(); datainputstream.readUTF();
* datainputstream.readUTF(); datainputstream.readUTF();
* datainputstream.readUTF();
*/
Game.player = new Imp("/player_strip_en.png", 3);
softkeyLabelWeapon = "武器";
String s1 = "百战天虫";
String s2 = "返回";
String s3 = "开始新游戏";
String s4 = "设置";
String s5 = "帮助";
String s6 = "关于";
softkeyLabelExit = "退出";
menu = new List(s1, 3);
menu.append(s3, Splash.startImg);
menu.append("继续游戏", Splash.againImg);
menu.append(s4, Splash.setImg);
menu.append(s5, Splash.helpImg);
menu.append(s6, Splash.aboutImg);
menu.append(softkeyLabelExit, Splash.exitImg);
menu.addCommand(GX10Command_OK);
menu.setCommandListener(this);
startMenu = new List(s3, 3);
startMenu.append("玩家 对 玩家", null);
startMenu.append("玩家 对 电脑", null);
startMenu.setCommandListener(this);
startMenuBack = new Command(s2, 4, 1);
startMenu.addCommand(startMenuBack);
startMenu.addCommand(GX10Command_OK);
optionsMenu = new List(s4, 2);
optionsMenu.append("音效", null);
//optionsMenu.append("震动", null);
optionsMenu.setSelectedFlags(optionFlags);
optionsMenu.setCommandListener(this);
optionsMenu.addCommand(new Command("确定", 4, 1));
instructionsMenu = new Form(s5);
instructionsMenu.addCommand(new Command(s2, 4, 1));
instructionsMenu.setCommandListener(this);
aboutMenu = new Form(s6);
aboutMenu.addCommand(new Command(s2, 4, 1));
aboutMenu.setCommandListener(this);
surrenderMenu[0] = new Form(s1);
surrenderMenu[0].append("红队获得胜利!");
surrenderMenu[0].setCommandListener(this);
surrenderMenu[0].addCommand(new Command(s2, 4, 1));
surrenderMenu[1] = new Form(s1);
surrenderMenu[1].append("蓝队获得胜利!");
surrenderMenu[1].setCommandListener(this);
surrenderMenu[1].addCommand(new Command(s2, 4, 1));
/*StringItem si1 = new StringItem("", "『应用介绍』");
StringItem si2 = new StringItem("", "『操作说明』");
instructionsMenu.append(si1);*/
instructionsMenu
.append("『应用介绍』\n 天才的将军!百战天虫需要您的指挥,才能在土地居住权的神圣战斗中胜出,还等什么,发挥你的军事才能,立即加入战斗吧!\n 本游戏提供人机对战和人人对战两种模式,战斗中有多种不同的武器可供使用,请注意有的武器有数量限制。\n 在游戏过程中,您需在规定时间内发射武器,部分武器在使用过程中会受到风力的影响,时间计数器上方的闪动条表示风向,红色向右,蓝色向左,闪动条长短表示风力大小。\n 红队和蓝队分别以红、蓝箭头区分,电脑默认为红队,每队各有两名天虫,以P1和P2区分当前行动的天虫,电脑选手不受你的控制。\n\n『操作说明』\n 游戏中方向键左或数字键4控制天虫向左移动,方向键右或数字键6控制向右移动,当红/蓝箭头出现时操作方向键上下或数字键2、8出现武器,继续操作可控制武器发射角度,右软键变更武器,左软键暂停返回主菜单。\n 按住炫键或数字5不放时发射炮弹的力度在不断增加,当力度到达最大或松开时立即发射。\n\n『武器描述』\n普通导弹:没有数量限制,发射后碰撞物体爆炸,威力一般。\n重型导弹:共两发,发射后碰撞物体爆炸,威力巨大。\n红色手雷:共四发,发射三秒后爆炸,威力小,但能穿透物体。\n黑色手雷:共两发,发射三秒后爆炸,威力中,能穿透物体。\n定时炸弹:每只天虫一发,发射为在原地安装炸弹,六秒后爆炸,威力巨大。");
// instructionsMenu.append(si2);
// instructionsMenu.append("游戏中方向键左或数字键4控制天虫向左移动,方向键右或数字键6控制向右移动,方向键上下或数字键2、8控制发射角度,右软键变更武器,左软键返回主菜单。\n按住炫键或数字5不放时发射炮弹的力度在不断增加,松开立即以当前力度发射,当力度到达最大立即发射。");
aboutMenu
.append("应用名称:百战天虫\n容量:93K\n版本号:1.0.1\n开发商:THQ\n提供商:当途摩宝\n客服电话:010-84832907\nEMAIL:khfw@down2mobile.com\n");
} catch (Exception exception) {
exception.printStackTrace();
}
}
public Menu() {
super("百战天虫", 3);
surrenderMenu = new Form[2];
stop = false;
languageSelect = true;
midlet = Worms.instance;
// append("English", null);
// append("Fran\347ais", null);
// append("Espa\361ol", null);
// append("Deutsch", null);
/*try {
startImg = Image.createImage("/icon.png");
}catch (Exception e) {
}*/
append("动画演示", Splash.playImg);
append("开始新游戏", Splash.startImg);
append("设置", Splash.setImg);
append("帮助", Splash.helpImg);
append("关于", Splash.aboutImg);
append("退出", Splash.exitImg);
addCommand(GX10Command_OK);
setCommandListener(this);
init();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -