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

📄 numbergame.java

📁 为解压缩文件
💻 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("数字不能为空");
                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();
    }

}

⌨️ 快捷键说明

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