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

📄 menuscreen.java

📁 韩国人手机上的J2ME手机游戏哈里波特源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//Download by http://www.codefans.net
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
//import mmpp.microedition.lcdui.GraphicsX;
import phone.Phone;

public class MenuScreen
{

    public MenuScreen(GameCanvas gamecanvas)
    {
        titlestatus = 11;
        prevstatus = 11;
        sconn = null;
        torder = -1;
        mindex = 0;
        tindex = 0;
        dindex = 0;
        sindex = 0;
        endmsg = false;
        gc = gamecanvas;
    }

    public void connect()
    {
        boolean flag = false;
        String s = Phone.getProperty("MIN") + "#" + gc.midlet.getHighscore() + "#*";
        try
        {
            sconn = (StreamConnection)Connector.open("socket://210.118.195.26:8003");
            DataOutputStream dataoutputstream = sconn.openDataOutputStream();
            DataInputStream datainputstream = sconn.openDataInputStream();
            byte abyte0[] = new byte[100];
            dataoutputstream.write(s.getBytes());
            dataoutputstream.flush();
            dataoutputstream.close();
            datainputstream.read(abyte0);
            String s1 = new String(abyte0);
            int i = 0;
            int j = 0;
            for(; i < s1.length(); i++)
            {
                if(s1.charAt(i) != '#')
                    irank[j] += s1.charAt(i);
                else
                    j++;
                if(j == 6)
                    break;
            }

            datainputstream.close();
            sconn.close();
            sconn = null;
            dataoutputstream = null;
            datainputstream = null;
            titlestatus = 16;
        }
        catch(Exception exception)
        {
            titlestatus = 17;
        }
    }

    public void paintFail()
    {
        gc.fillScreen(0x7fd2ff);
        gc.paintBox(0, 0, Harry.SW, Harry.SH);
        gc.colorText("\uC811\uC18D\uC2E4\uD328", Harry.CX, 5, 2, 0);
        gc.setClipAll();
        gc.setColor(0);
        gc.drawText("\uC811\uC18D\uC5D0 \uC2E4\uD328 \uD588\uC2B5\uB2C8\uB2E4.\uC7AC\uC811\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", Harry.CX - 34, Harry.CY + 43, 90, 90);
        gc.drawString("1.\uD655\uC778  2.\uCDE8\uC18C", Harry.CX, Harry.SH - 23, 17);
    }

    public void paint()
    {
        if(titlestatus == 15)
        {
            gc.setClipAll();
            gc.paintBorder(0, Harry.CY - 3, Harry.SW, 17);
            gc.setColor(0xffffff);
            gc.drawString("\uC811\uC18D\uC911 ...", Harry.CX, Harry.CY, 17);
            if(gc.frame <= 1)
                return;
            if(sconn == null)
            {
                connect();
                titlestatus = 16;
            }
        }
        switch(titlestatus)
        {
        case 11: // '\013'
            paintTitleBg(0);
            if(gc.frame > 20)
            {
                titlestatus = prevstatus = 0;
                rm.play(0, true);
            }
            break;

        case 0: // '\0'
            paintTitleBg(1);
            break;

        case 1: // '\001'
            paintTitleBg(2);
            paintMenu(Harry.CX - 30, Harry.CY - 53);
            break;

        case 3: // '\003'
            gc.fillScreen(0x7fd2ff);
            gc.paintBox(0, 0, Harry.SW, Harry.SH);
            paintOption();
            break;

        case 8: // '\b'
        case 9: // '\t'
            gc.fillScreen(0x7fd2ff);
            gc.paintBox(0, 0, Harry.SW, Harry.SH);
            paintInfo();
            break;

        case 16: // '\020'
            paintRank();
            break;

        case 17: // '\021'
            paintFail();
            break;
        }
        if(titlestatus == 0 || titlestatus == 11)
            gc.drawImageCenter(rm.i_p, rm.publicCoord[11], Harry.CX, Harry.SH - 8);
        else
            gc.drawImageCenter(rm.i_p, rm.publicCoord[11], Harry.CX, Harry.SH - 8);
    }

    public void paintTitleBg(int i)
    {
        if(torder != i)
        {
            torder = i;
            Image image = null;
            try
            {
                gc.g2.setColor(0);
                gc.g2.fillRect(0, 0, Harry.SW, Harry.SH);
                image = Image.createImage("/i/r0.png");
                if(image == null)
                    return;
                gc.g2.drawImage(image, 0, 0, 20);
                image = Image.createImage("/i/r1.png");
                gc.g2.drawImage(image, 0, 50, 20);
                image = Image.createImage("/i/r2.png");
                gc.g2.drawImage(image, 0, 100, 20);
            }
            catch(Exception exception) { }
            try
            {
                switch(torder)
                {
                case 0: // '\0'
                    image = Image.createImage("/i/s.png");
                    gc.g2.drawImage(image, Harry.CX, Harry.SH - (image.getHeight() + 15), 17);
                    break;

                case 1: // '\001'
                    image = Image.createImage("/i/ttxt.png");
                    gc.g2.drawImage(image, Harry.CX, Harry.CY + 11, 3);
                    break;

                case 2: // '\002'
                    /*GraphicsX graphicsx = (GraphicsX)gc.offimg.getGraphics();
                    graphicsx.setAlpha(100);
                    graphicsx.setClip(0, 0, Harry.SW, Harry.SH);
                    graphicsx.setColor(0);
                    graphicsx.fillRect(0, 0, Harry.SW, Harry.SH);*/
                    break;
                }
            }
            catch(Exception exception1)
            {
                exception1.printStackTrace();
            }
            image = null;
        }
        gc.drawImage(gc.offimg, 0, 0, 20);
    }

    public void paintMenu(int i, int j)
    {
        gc.setClipAll();
        gc.setColor(0xdfffff);
        for(int k = 0; k < 7; k++)
        {
            if(k == mindex)
            {
                MenuScreen _tmp = this;
                GameCanvas.tmpidx = 6;
            } else
            {
                MenuScreen _tmp1 = this;
                GameCanvas.tmpidx = 0;
            }
            gc.drawString(mTxt[k], i, j + k * 15, 20);
        }

        gc.drawImage(rm.i_p, rm.publicCoord[12], i - 17, j + mindex * 15);
        if(endmsg)
        {
            gc.paintBorder(Harry.CX - 55, Harry.CY - 13, 110, 36);
            gc.setClipAll();
            gc.setColor(0xffffff);
            gc.drawString("\uC885\uB8CC\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", Harry.CX, Harry.CY - 6, 17);
            gc.drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, Harry.CY + 9, 17);
        }
    }

    public void paintOption()
    {
        byte byte0 = 0;
        gc.colorText("\uD658\uACBD\uC124\uC815", Harry.CX, 5, 2, 0);
        if(Harry.cat2)
            byte0 = 3;
        else
            byte0 = 4;
        for(int i = 0; i < byte0; i++)
        {
            gc.fillArea(0, Harry.CX - 38, (Harry.CY - 39) + i * 23, 83, 17);
            gc.setColor(0xffb700);
            gc.drawRect(Harry.CX - 37, (Harry.CY - 38) + i * 23, 80, 14);
        }

        gc.setColor(0xf9fb2f);
        gc.drawString("1.\uC74C\uC545", Harry.CX - 35, Harry.CY - 36, 20);
        gc.drawString("2.\uC9C4\uB3D9", Harry.CX - 35, (Harry.CY - 36) + 23, 20);
        gc.drawString("3.\uC18D\uB3C4", Harry.CX - 35, (Harry.CY - 36) + 46, 20);
        if(!Harry.cat2)
            gc.drawString("4.\uBC30\uACBD", Harry.CX - 35, (Harry.CY - 36) + 69, 20);
        gc.setColor(0xffffff);
        if(gc.midlet.getEffectOption() > 0)
            gc.drawString("\u25C0on\u25B6", Harry.CX + 3, Harry.CY - 13, 20);
        else
            gc.drawString("\u25C0off\u25B6", Harry.CX + 3, Harry.CY - 13, 20);
        gc.drawString("\u25C0" + gc.midlet.getSpeed() + "\u25B6", Harry.CX + 3, (Harry.CY - 35) + 45, 20);
        if(gc.midlet.getSoundOption() > 0)
        {
            int j = 0;
            int k = 5;
            for(; j < gc.midlet.getSoundOption(); j++)
            {
                gc.fillArea(0xffffff, Harry.CX + 8 + j * 5, (Harry.CY - 36) + k, 4, 13 - k);
                k--;
            }

        } else
        {
            gc.drawString("\u25C0off\u25B6", Harry.CX + 3, Harry.CY - 36, 20);
        }
        if(!Harry.cat2)
            gc.drawString(gc.midlet.getBg() <= 0 ? "\u25C0off\u25B6" : "\u25C0on\u25B6", Harry.CX + 3, Harry.CY + 33, 20);
        gc.drawImage(rm.i_p, rm.publicCoord[12], Harry.CX - 37 - 17, (Harry.CY - 37) + mindex * 23);
    }

    public void paintInfo()
    {
        int i = Harry.CX - 40;
        int j = Harry.CY - 33;
        gc.setClipAll();
        if(titlestatus == 9)
        {
            gc.colorText("\uB7AD\uD0B9\uBCF4\uAE30", Harry.CX, 15, 2, 0);
            gc.setColor(0);
            gc.setClip(0, 0, Harry.SW, Harry.SH);
            gc.drawString("\uB7AD\uD0B9\uC744 \uB4F1\uB85D", i, j, 20);
            gc.drawString("\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? ", i, j + 15, 20);
            gc.drawString("\uB4F1\uB85D\uC2DC \uD1B5\uD654\uB8CC\uAC00", i, j + 45, 20);
            gc.drawString("\uBD80\uACFC \uB429\uB2C8\uB2E4.", i, j + 60, 20);
            gc.drawString("1.\uC608  2.\uC544\uB2C8\uC624", i, j + 30, 20);
        } else
        if(titlestatus == 8)
        {
            gc.colorText("\uAC8C\uC784\uBB38\uC758", Harry.CX, 15, 2, 0);
            gc.setColor(0);
            gc.setClip(0, 0, Harry.SW, Harry.SH);
            gc.setClip(0, 0, Harry.SW, Harry.SH);
            gc.drawString("\uC9C0\uC564\uC528\uC778\uD130\uB809\uD2F0\uBE0C", Harry.CX, j, 17);
            gc.drawString("TEL: 02-313-9384", i - 10, j + 20, 20);
            gc.drawString("rtsp@gncint.com", i - 10, j + 35, 20);
            gc.drawString("\uAC1C\uBC1C:\uAE40\uC8FC\uD55C,\uBC31\uC9C4", i - 10, j + 50, 20);
            gc.drawString("    \uC815\uC2B9\uADDC", i - 10, j + 65, 20);
        }
    }

    public void paintRank()
    {
        byte byte0 = 0;
        gc.fillScreen(0x7fd2ff);
        gc.paintBox(0, 0, Harry.SW, Harry.SH);
        gc.colorText("\uC21C\uC704", Harry.CX, 5, 2, 0);
        gc.setColor(0);
        gc.drawString("    \uC810\uC218(\uBC88\uD638)", Harry.CX - 50, Harry.CY - 47, 20);
        if(Harry.SH < 144)
            byte0 = 5;
        else
            byte0 = 6;
        for(int i = 1; i < byte0; i++)
            gc.drawString(i + "\uB4F1:" + irank[i - 1], Harry.CX - 50, (Harry.CY - 47) + i * 13, 20);

        gc.paintBorder(Harry.CX - 59, ((Harry.CY - 43) + byte0 * 14) - 3, 118, 17);
        gc.drawString("\uB0B4\uC810\uC218:" + irank[5] + "\uB4F1: " + gc.midlet.getHighscore(), Harry.CX - 50, (Harry.CY - 43) + byte0 * 14, 20);
    }

    public void setTitleStatus(byte byte0)
    {
        prevstatus = titlestatus;
        titlestatus = byte0;
        switch(titlestatus)
        {
        case 5: // '\005'
            gc.end();
            // fall through

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        default:
            return;
        }
    }

    public void keyPressed(int i)
    {
        if(titlestatus == 11)
        {
            titlestatus = prevstatus = 0;
            return;
        }
        if(titlestatus == 0)
        {
            mindex = 0;
            rm.imageLoad((byte)1);
            titlestatus = 1;
            return;
        }
        switch(i)
        {
        case -4: 
        case -3: 
        case -2: 
        case -1: 
        case 1: // '\001'
        case 2: // '\002'
        case 5: // '\005'
        case 6: // '\006'
            rm.play(4, false);
            break;

        case -5: 
        case 8: // '\b'
            rm.play(5, false);
            break;
        }

⌨️ 快捷键说明

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