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

📄 mainmenu.java

📁 手机游戏
💻 JAVA
字号:
// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   MainMenu.java

package matchit2;

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;

// Referenced classes of package matchit2:
//            GameScreen, MatchIt2

public class MainMenu extends GameCanvas
{

    public MainMenu(MatchIt2 m)
    {
        super(false);
        interrupted = false;
        selected = 0;
        try
        {
            matchit2 = m;
            jbInit();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

    private void jbInit()
        throws Exception
    {
        ScreenHeight = getHeight();
        ScreenWidth = getWidth();
        display = Display.getDisplay(matchit2);
        paintback();
        paintselect();
    }

    protected void pointerPressed(int x, int y)
    {
        int tp = (ScreenWidth - imagesizes[1][0]) / 2;
        int tp2 = (ScreenWidth + imagesizes[1][0]) / 2;
        int ns = -1;
        if(x > ScreenWidth - 10 && y > ScreenHeight - 10)
        {
            MatchIt2 _tmp = matchit2;
            MatchIt2.quitApp();
            return;
        }
        if(x > tp - imagesizes[0][0] - 13 && y > ScreenHeight - 58 && x < (tp - imagesizes[0][0] - 13) + imagesizes[0][0] + 6 && y < (ScreenHeight - 58) + imagesizes[0][1] + 5)
            ns = 0;
        if(x > tp - 3 && y > ScreenHeight - 58 && x < (tp - 3) + imagesizes[1][0] + 6 && y < (ScreenHeight - 58) + imagesizes[1][1] + 5)
            ns = 1;
        if(x > tp2 + 7 && y > ScreenHeight - 58 && x < tp2 + 7 + imagesizes[2][0] + 6 && y < (ScreenHeight - 58) + imagesizes[2][1] + 5)
            ns = 2;
        if(ns < 0)
            return;
        if(ns != selected)
        {
            selected = ns;
            paintselect();
            repaint();
        } else
        {
            gamestart();
        }
    }

    protected void keyPressed(int keyCode)
    {
        int action = getGameAction(keyCode);
        int os = selected;
        switch(action)
        {
        case 1: // '\001'
        case 2: // '\002'
            selected--;
            break;

        case 5: // '\005'
        case 6: // '\006'
            selected++;
            break;
        }
        if(selected == -1)
            selected = 2;
        if(selected == 3)
            selected = 0;
        if(os != selected)
        {
            paintselect();
            repaint();
        }
        if(action == 8)
        {
            interrupted = false;
            gamestart();
        }
    }

    public void paint(Graphics g)
    {
        flushGraphics();
    }

    private void paintback()
    {
        Graphics g = getGraphics();
        g.setColor(5, 5, 5);
        g.fillRect(0, 0, ScreenWidth, ScreenHeight);
        try
        {
            Image img = Image.createImage("/res/img/lvl.png");
            Image img0 = Image.createImage(img, 0, 0, imagesizes[0][0], imagesizes[0][1], 0);
            Image img1 = Image.createImage(img, 0, 15, imagesizes[1][0], imagesizes[1][1], 0);
            Image img2 = Image.createImage(img, 0, 30, imagesizes[2][0], imagesizes[2][1], 0);
            int tp = (ScreenWidth - imagesizes[1][0]) / 2;
            int tp2 = (ScreenWidth + imagesizes[1][0]) / 2;
            g.drawImage(img0, tp - imagesizes[0][0] - 10, ScreenHeight - 55, 0);
            g.setColor(0, 255, 0);
            g.drawRect(tp - imagesizes[0][0] - 11, ScreenHeight - 56, imagesizes[0][0] + 2, imagesizes[0][1] + 1);
            g.drawImage(img1, tp, ScreenHeight - 55, 0);
            g.setColor(255, 255, 0);
            g.drawRect(tp - 1, ScreenHeight - 56, imagesizes[1][0] + 2, imagesizes[1][1] + 1);
            g.drawImage(img2, tp2 + 10, ScreenHeight - 55, 0);
            g.setColor(255, 0, 0);
            g.drawRect(tp2 + 9, ScreenHeight - 56, imagesizes[2][0] + 2, imagesizes[2][1] + 1);
            img = null;
            img0 = null;
            img1 = null;
            img2 = null;
            img = Image.createImage("/res/img/select_lvl.png");
            g.drawImage(img, (ScreenWidth - imagesizes[3][0]) / 2, 50, 0);
            img = null;
            g.setColor(255, 255, 255);
            g.drawRect(ScreenWidth - 10, ScreenHeight - 10, 9, 9);
            g.drawLine(ScreenWidth - 10, ScreenHeight - 10, ScreenWidth, ScreenHeight);
            g.drawLine(ScreenWidth - 10, ScreenHeight, ScreenWidth, ScreenHeight - 10);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        g = null;
    }

    private void paintselect()
    {
        Graphics g = getGraphics();
        int tp = (ScreenWidth - imagesizes[1][0]) / 2;
        int tp2 = (ScreenWidth + imagesizes[1][0]) / 2;
        if(selected != 0)
            g.setColor(0, 0, 0);
        else
            g.setColor(0, 255, 0);
        g.drawRect(tp - imagesizes[0][0] - 13, ScreenHeight - 58, imagesizes[0][0] + 6, imagesizes[0][1] + 5);
        if(selected != 1)
            g.setColor(0, 0, 0);
        else
            g.setColor(255, 255, 0);
        g.drawRect(tp - 3, ScreenHeight - 58, imagesizes[1][0] + 6, imagesizes[1][1] + 5);
        if(selected != 2)
            g.setColor(0, 0, 0);
        else
            g.setColor(255, 0, 0);
        g.drawRect(tp2 + 7, ScreenHeight - 58, imagesizes[2][0] + 6, imagesizes[2][1] + 5);
    }

    private void gamestart()
    {
        gamescreen = new GameScreen(matchit2, this, selected);
        readImages();
        gamescreen.repaint();
        Display.getDisplay(matchit2).setCurrent(gamescreen);
        gamescreen.repaint();
    }

    private void readImages()
    {
        gamescreen.images = new Image[gamescreen.SeedCount];
        try
        {
            Image img = Image.createImage("/res/img/figs.png");
            for(int i = 1; i <= gamescreen.SeedCount; i++)
            {
                gamescreen.images[i - 1] = Image.createImage(gamescreen.HSize - 2, gamescreen.VSize - 2);
                Graphics g = gamescreen.images[i - 1].getGraphics();
                g.drawImage(img, (1 - i) * (gamescreen.HSize - 2), 0, 0);
            }

        }
        catch(Exception ee)
        {
            ee.printStackTrace();
        }
        if(gamescreen.HASSOUND)
        {
            gamescreen.SoundImages = new Image[5];
            for(int i = 0; i <= 4; i++)
                try
                {
                    gamescreen.SoundImages[i] = Image.createImage("/res/img/sound" + i + ".png");
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }

        }
        try
        {
            gamescreen.HintImage = Image.createImage("/res/img/Hint.png");
            gamescreen.ShuffleImage = Image.createImage("/res/img/Shuffle.png");
            gamescreen.PauseImage = Image.createImage("/res/img/pause.png");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

    public void goPause()
    {
        if(gamescreen != null)
        {
            gamescreen.goPause();
            interrupted = true;
        }
    }

    public void goActive()
    {
        if(interrupted)
        {
            gamescreen.goActive(false);
            Display.getDisplay(matchit2).setCurrent(gamescreen);
        }
    }

    public int ScreenHeight;
    public int ScreenWidth;
    public int imagesizes[][] = {
        {
            36, 14
        }, {
            67, 14
        }, {
            44, 14
        }, {
            176, 65
        }
    };
    private Display display;
    private MatchIt2 matchit2;
    private GameScreen gamescreen;
    public boolean interrupted;
    private int selected;
}

⌨️ 快捷键说明

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