?? numbergame.java
字號:
package com.j2medev.numbergame;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class NumberGame extends MIDlet implements ButtonListener
{
private Display display;
private SplashScreen welcome;
private Manager manager;
private Button[] buttons = new Button[4];
private Button cmd;
private Mark mark;
private Engine engine;
protected void startApp() throws MIDletStateChangeException
{
initMIDlet();
}
private void initMIDlet()
{
display = Display.getDisplay(this);
manager = new Manager();
engine = new Engine();
engine.init();
int screenWidth = manager.getWidth();
int screenHeight = manager.getHeight();
int balance = screenWidth / 5;
int buttonWidth = balance - 1;
int buttonHeight = 15;
for (int i = 0; i < buttons.length; i++)
{
buttons[i] = new Button("", 1 + i * balance, 1, buttonWidth,
buttonHeight);
manager.add(buttons[i]);
buttons[i].setMargin(8, 4);
buttons[i].setListener(this);
}
cmd = new Button("OK", 1 + buttons.length * balance, 1, buttonWidth,
buttonHeight);
manager.add(cmd);
cmd.setListener(this);
cmd.setModifiable(false);
mark = new Mark(1, 1 + cmd.getHeight() + 2, screenWidth - 3,
screenHeight - 3 - cmd.getHeight());
manager.add(mark);
welcome = new SplashScreen(display, manager);
display.setCurrent(welcome);
}
protected void pauseApp()
{
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}
public void buttonPressed(Button button)
{
String label = button.getLabel();
if (label == "OK")
{
int[] res = getInput();
if (res.length == 1)
{
CongScreen cs = new CongScreen(display, manager);
cs.setTitle("數(shù)字不能為空");
cs.setType(CongScreen.WARNING);
display.setCurrent(cs);
return;
}
int[] feedback = engine.queryResult(res);
if (feedback[0] == 4)
{
CongScreen cs = new CongScreen(display, manager, mark);
cs.setTitle("恭喜您!");
cs.setNumber(mark.getCount());
display.setCurrent(cs);
resetGame();
return;
}
if (mark.getCount() == 9 & feedback[0] != 4)
{
CongScreen cs = new CongScreen(display, manager, mark);
cs.setTitle("重新開始吧");
cs.setType(CongScreen.WARNING);
display.setCurrent(cs);
resetGame();
return;
}
mark.setInput(res);
mark.setAB(feedback);
mark.setOpen(true);
manager.repaintArea(mark, true);
mark.setOpen(false);
}
}
public String input2String(int[] input)
{
String s = "";
for (int i = 0; i < input.length; i++)
{
s = s + input[i];
}
return s;
}
private int[] getInput()
{
String[] inputString = new String[4];
for (int i = 0; i < buttons.length; i++)
{
inputString[i] = buttons[i].getLabel();
}
for (int k = 0; k < inputString.length; k++)
{
if (inputString[k].equals(""))
{
return new int[] { 100 };
}
}
int[] number = new int[4];
for (int j = 0; j < inputString.length; j++)
{
number[j] = Integer.parseInt(inputString[j]);
}
return number;
}
private void resetButton()
{
for (int i = 0; i < buttons.length; i++)
{
buttons[i].setLabel("");
}
}
public void resetGame()
{
resetButton();
mark.reset();
engine.init();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -