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

📄 menuscreen.java~1~

📁 Source code of J2ME game called Action Soccer. Great for used. Already configurations with JBuilder
💻 JAVA~1~
字号:
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 

package com.soccer;

import com.nokia.mid.ui.FullCanvas;
import java.io.PrintStream;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;

// Referenced classes of package com.soccer:
//            GameScreen, SPlayer, GameMidlet

public class MenuScreen extends FullCanvas
    implements Runnable
{

    public MenuScreen(GameMidlet gamemidlet)
    {
        selected = 0;
        state = 0;
        displayWarning = false;
        src = gamemidlet;
        try
        {
            ground = Image.createImage("/ground.png");
            menu = new Image[3];
            for(int i = 0; i < 3; i++)
                menu[i] = Image.createImage("/menu" + Integer.toString(i + 1) + ".png");

            arrow = Image.createImage("/arrow.png");
            logo = Image.createImage("/logo.png");
            pressok = Image.createImage("/pressok.png");
            help = Image.createImage("/help.png");
            oppTeam = Image.createImage("/oponents.png");
            ourTeam = Image.createImage("/our.png");
            selectDiff = Image.createImage("/different.png");
            form = Image.createImage("/form.png");
            formWidth = form.getWidth() / 16;
        }
        catch(Exception exception)
        {
            System.out.println(exception);
        }
        readDataFromDB();
        t = new Thread(this);
        t.start();
    }

    public void readDataFromDB()
    {
        try
        {
            RecordStore recordstore = RecordStore.openRecordStore("SoccerProps", true);
            if(recordstore.getNumRecords() > 0)
            {
                RecordEnumeration recordenumeration = recordstore.enumerateRecords(null, null, false);
                byte abyte0[] = recordenumeration.nextRecord();
                command = abyte0[0];
                commandColor = abyte0[1];
                recordenumeration = null;
            }
            recordstore.closeRecordStore();
            recordstore = null;
        }
        catch(Exception exception)
        {
            System.out.println(exception);
        }
    }

    public void writeDataToDB()
    {
        try
        {
            RecordStore.deleteRecordStore("SoccerProps");
        }
        catch(Exception exception)
        {
            System.out.println(exception);
        }
        try
        {
            RecordStore recordstore = RecordStore.openRecordStore("SoccerProps", true);
            byte abyte0[] = {
                (byte)command, (byte)commandColor
            };
            recordstore.addRecord(abyte0, 0, 2);
            recordstore.closeRecordStore();
            recordstore = null;
        }
        catch(Exception exception1)
        {
            System.out.println(exception1);
        }
    }

    public void paint(Graphics g)
    {
        if(state == 0)
        {
            g.drawImage(logo, 0, 0, 0);
        } else
        {
            g.drawImage(ground, 0, 0, 0);
            switch(state)
            {
            case 1: // '\001'
                g.setColor(0);
                g.fillRect(42, 68 + 14 * selected, 91, 14);
                g.drawImage(menu[state - 1], 50, 70, 0);
                break;

            case 2: // '\002'
                g.setColor(0);
                g.fillRect(42, 68 + 14 * selected, 91, 14);
                g.drawImage(arrow, 44, 70 + 14 * difficulty, 0);
                g.drawImage(menu[state - 1], 50, 70, 0);
                g.drawImage(pressok, (getWidth() - pressok.getWidth()) / 2, getHeight() - pressok.getHeight() - 5, 0);
                break;

            case 3: // '\003'
                g.setClip((getWidth() - formWidth) / 2, 85, formWidth, form.getHeight());
                g.drawImage(form, (getWidth() - formWidth) / 2 - formWidth * commandColor, 85, 0);
                g.setClip(0, 0, getWidth(), getHeight());
                g.setColor(0);
                g.fillRect(42, 127, 91, 14);
                g.setColor(0x80ff80);
                g.setFont(Font.getFont(0, 0, 8));
                for(int i = -1; i < 3; i++)
                    if(command + i >= 0 && command + i < commands.length)
                        g.drawString(commands[command + i], 50, 115 + 14 * (i + 1), 16);

                g.drawImage(menu[state - 1], (getWidth() - menu[state - 1].getWidth()) / 2, 70, 0);
                g.drawImage(pressok, (getWidth() - pressok.getWidth()) / 2, getHeight() - pressok.getHeight() - 5, 0);
                g.drawImage(ourTeam, (getWidth() - ourTeam.getWidth()) / 2, getHeight() - pressok.getHeight() - 15, 0);
                break;

            case 5: // '\005'
                g.setClip((getWidth() - formWidth) / 2, 85, formWidth, form.getHeight());
                g.drawImage(form, (getWidth() - formWidth) / 2 - formWidth * compCommandColor, 85, 0);
                g.setClip(0, 0, getWidth(), getHeight());
                g.setColor(0);
                g.fillRect(42, 127, 91, 14);
                g.setColor(0x80ff80);
                g.setFont(Font.getFont(0, 0, 8));
                for(int j = -1; j < 3; j++)
                    if(compCommand + j >= 0 && compCommand + j < commands.length)
                        g.drawString(commands[compCommand + j], 50, 115 + 14 * (j + 1), 16);

                g.drawImage(menu[state - 3], (getWidth() - menu[state - 3].getWidth()) / 2, 70, 0);
                g.drawImage(pressok, (getWidth() - pressok.getWidth()) / 2, getHeight() - pressok.getHeight() - 5, 0);
                g.drawImage(oppTeam, (getWidth() - oppTeam.getWidth()) / 2, getHeight() - pressok.getHeight() - 15, 0);
                if(displayWarning)
                {
                    g.drawImage(GameScreen.mground, (getWidth() - GameScreen.mground.getWidth()) / 2, (getHeight() - GameScreen.mground.getHeight()) / 2, 0);
                    g.drawImage(selectDiff, (getWidth() - selectDiff.getWidth()) / 2, (getHeight() - selectDiff.getHeight()) / 2, 0);
                }
                break;

            case 4: // '\004'
                g.drawImage(help, 0, 0, 0);
                break;
            }
            if(state != 4)
                g.drawImage(pressok, (getWidth() - pressok.getWidth()) / 2, getHeight() - pressok.getHeight() - 5, 0);
        }
    }

    public void keyReleased(int i)
    {
        int j = getGameAction(i);
        if(state == 5 && j == 8)
        {
            displayWarning = false;
            repaint();
        }
    }

    public void keyPressed(int i)
    {
        int j = getGameAction(i);
        if(i == -6)
            GameScreen.softKey1Pressed();
        else
        if(i == -7)
            GameScreen.softKey2Pressed();
        if(state == 1)
        {
            switch(j)
            {
            default:
                break;

            case 1: // '\001'
                if(selected > 0)
                    selected--;
                SPlayer.play(0);
                break;

            case 6: // '\006'
                if(selected < 5)
                    selected++;
                SPlayer.play(0);
                break;

            case 8: // '\b'
                SPlayer.play(0);
                if(selected == 0)
                {
                    GameMidlet.gameScreen.startGame(0);
                    GameMidlet.m_display.setCurrent(GameMidlet.gameScreen);
                    break;
                }
                if(selected == 1)
                {
                    GameMidlet.gameScreen.startGame(1);
                    GameMidlet.m_display.setCurrent(GameMidlet.gameScreen);
                    break;
                }
                if(selected == 2)
                {
                    state = 3;
                    selected = command;
                    break;
                }
                if(selected == 3)
                {
                    state = 2;
                    selected = 0;
                    break;
                }
                if(selected == 4)
                {
                    state = 4;
                    break;
                }
                if(selected == 5)
                    src.destroyGame();
                break;
            }
            repaint();
            serviceRepaints();
        } else
        if(state == 2)
        {
            switch(j)
            {
            default:
                break;

            case 1: // '\001'
                SPlayer.play(0);
                if(selected > 0)
                    selected--;
                break;

            case 6: // '\006'
                SPlayer.play(0);
                if(selected < 3)
                    selected++;
                break;

            case 8: // '\b'
                SPlayer.play(0);
                if(selected == 3)
                    state = 1;
                else
                    difficulty = selected;
                break;
            }
            repaint();
            serviceRepaints();
        } else
        if(state == 3)
        {
            switch(j)
            {
            case 3: // '\003'
            case 4: // '\004'
            case 7: // '\007'
            default:
                break;

            case 1: // '\001'
                SPlayer.play(0);
                if(command > 0)
                {
                    command--;
                    commandColor--;
                }
                break;

            case 6: // '\006'
                SPlayer.play(0);
                if(command < commands.length - 1)
                {
                    command++;
                    commandColor++;
                }
                break;

            case 2: // '\002'
                SPlayer.play(0);
                if(commandColor > 0)
                {
                    commandColor--;
                    command--;
                }
                break;

            case 5: // '\005'
                SPlayer.play(0);
                if(commandColor < 15)
                {
                    commandColor++;
                    command++;
                }
                break;

            case 8: // '\b'
                SPlayer.play(0);
                writeDataToDB();
                state = 5;
                selected = 2;
                break;
            }
            repaint();
            serviceRepaints();
        } else
        if(state == 5)
        {
            switch(j)
            {
            case 3: // '\003'
            case 4: // '\004'
            case 7: // '\007'
            default:
                break;

            case 1: // '\001'
                SPlayer.play(0);
                if(compCommand > 0)
                {
                    compCommand--;
                    compCommandColor--;
                }
                break;

            case 6: // '\006'
                SPlayer.play(0);
                if(compCommand < commands.length - 1)
                {
                    compCommand++;
                    compCommandColor++;
                }
                break;

            case 2: // '\002'
                SPlayer.play(0);
                if(compCommandColor > 0)
                {
                    compCommandColor--;
                    compCommand--;
                }
                break;

            case 5: // '\005'
                SPlayer.play(0);
                if(compCommandColor < 15)
                {
                    compCommandColor++;
                    compCommand++;
                }
                break;

            case 8: // '\b'
                SPlayer.play(0);
                if(command == compCommand || commandColor == compCommandColor)
                {
                    displayWarning = true;
                } else
                {
                    state = 1;
                    selected = 2;
                }
                break;
            }
            repaint();
            serviceRepaints();
        } else
        if(state == 4 && j == 8)
        {
            SPlayer.play(0);
            state = 1;
            repaint();
            serviceRepaints();
        }
    }

    public void run()
    {
        try
        {
            MenuScreen _tmp = this;
            Thread.sleep(6000L);
        }
        catch(Exception exception) { }
        logo = null;
        state = 1;
        repaint();
        serviceRepaints();
    }

    static Image ground;
    static Image arrow;
    static Image logo;
    static Image menu[];
    static Image form;
    static Image pressok;
    static Image help;
    static Image oppTeam;
    static Image ourTeam;
    static Image selectDiff;
    private static final String db = "SoccerProps";
    public static final int menuItemHeight = 14;
    public static final int menuItemWidth = 91;
    public static final int colors = 16;
    private final int menuX = 50;
    private final int menuY = 70;
    public static final String commands[] = {
        "Hyax", "Buyvan", "Kobentree", "Shallsee", "Tartmoon", "Fadenorth", "Winter", "Joubendus", "Taxio", "Meelawn", 
        "Paradis", "Nuntess", "Mgritte", "Ramia", "Youthright", "Benefic"
    };
    public static int difficulty = 0;
    public static int command = 0;
    public static int commandColor = 0;
    public static int compCommand = 1;
    public static int compCommandColor = 1;
    static int formWidth = 0;
    private int selected;
    private int state;
    boolean displayWarning;
    Thread t;
    GameMidlet src;

}

⌨️ 快捷键说明

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