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

📄 gamecanvas.java

📁 韩国人手机上的J2ME手机游戏哈里波特源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:

    public void drawRect(int i, int j, int k, int l)
    {
        g.drawRect(i, j, k, l);
    }

    public void fillRect(int i, int j, int k, int l)
    {
        g.fillRect(i, j, k, l);
    }

    public void drawString(String s, int i, int j, int k)
    {
        g.drawString(s, i, j, k);
    }

    public void drawSubstring(String s, int i, int j, int k, int l, int i1)
    {
        g.drawSubstring(s, i, j, k, l, i1);
    }

    public void setClip(int i, int j, int k, int l)
    {
        g.setClip(i, j, k, l);
    }

    public Graphics getGraphics()
    {
        return g;
    }

    public void setClipAll()
    {
        g.setClip(0, 0, Harry.SW, Harry.SH);
    }

    public void end()
    {
        midlet.notifyDestroyed();
    }

    public void fillScreen(int i)
    {
        fillArea(i, 0, 0, Harry.SW, Harry.SH);
    }

    public void fillArea(int i, int j, int k, int l, int i1)
    {
        g.setClip(0, 0, Harry.SW, Harry.SH);
        g.setColor(i);
        g.fillRect(j, k, l, i1);
    }

    public void drawLine(int i, int j, int k, int l)
    {
        g.drawLine(i, j, k, l);
    }

    public void setHighscore(int i)
    {
        if(midlet.getHighscore() < i)
            midlet.saveScore(i);
    }

    public void paintGraphicNumber(int i, int j, int k)
    {
        int l = 1;
        tmp = i >= 100 ? 10 : 3;
        for(int i1 = 0; i1 < tmp; i1++)
        {
            l *= 10;
            if(i / l != 0)
                continue;
            l = i1 + 1;
            break;
        }

        j += l * 7;
        int j1 = 1;
        for(int k1 = 0; k1 < l; k1++)
        {
            j1 *= 10;
            tmp = (i % j1) / (j1 / 10);
            if(tmp == 1)
                drawImage(rm.i_p, rm.publicCoord[tmp], (j - k1 * 7) + 1, k);
            else
                drawImage(rm.i_p, rm.publicCoord[tmp], j - k1 * 7, k);
        }

    }

    public void paintLoading()
    {
        fillScreen(0);
        g.setColor(0xffffff);
        g.drawString(" loading ", Harry.CX, Harry.CY, 17);
    }

    public void paintBorder(int i, int j, int k, int l)
    {
        fillArea(0, i, j, k - 1, l - 1);
        g.setColor(0xececec);
        g.drawRect(i, j, k - 1, l - 1);
    }

    public void paintBorder2(int i, int j, int k, int l)
    {
        fillArea(0x3f7fff, i, j, k - 1, l - 1);
        g.setColor(0xffffff);
        g.drawRect(i, j, k - 1, l - 1);
    }

    public void paintBox(int i, int j, int k, int l)
    {
        setClipAll();
        setColor(0x5f9fff);
        drawRect(i, j, k - 1, l - 1);
        setColor(0x1f3fff);
        drawRect(i + 1, j + 1, k - 3, l - 3);
    }

    public void paintShop()
    {
        fillScreen(0x7fd2ff);
        int i = Harry.CX - 40;
        int j = Harry.CY - 33;
        paintBox(0, 0, Harry.SW, Harry.SH - 30);
        drawImage(rm.i_p, rm.publicCoord[10], Harry.CX - 38, Harry.CY - 57);
        paintGraphicNumber(gscreen.beans, Harry.CX - 10, Harry.CY - 58);
        drawImage(rm.img_icon, rm.getImageCoord(mindex + 1, 12, 12), Harry.CX - 38, Harry.CY - 46);
        paintGraphicNumber(gscreen.hSlot[mindex + 1], Harry.CX - 10, Harry.CY - 44);
        setClip(0, 0, Harry.SW, Harry.SH);
        setColor(0x5f1f3f);
        drawString(itemname[mindex + 1], Harry.CX - 40, Harry.CY - 25, 20);
        fillArea(0, 0, Harry.SH - 30, Harry.SW, 30);
        paintBorder(0, Harry.SH - 16, Harry.SW, 16);
        setColor(0xffffff);
        setClip(0, 0, Harry.SW, Harry.SH);
        drawString("1.\uAD6C\uC785", 2, Harry.SH - 14, 20);
        drawString("2.\uCDE8\uC18C", Harry.SW - 2, Harry.SH - 14, 24);
        setColor(0);
        if(mindex < 3)
            drawString("- \uC804\uD559\uB144", Harry.CX, Harry.CY - 12, 20);
        else
            drawString("- " + mindex + "\uD559\uB144", Harry.CX, Harry.CY - 12, 20);
        drawString(itemstr[mindex + 1], Harry.CX, Harry.CY + 2, 17);
        drawString("\uAC00\uACA9 :" + ITEM_PRICE[mindex + 1], Harry.CX - 40, Harry.CY + 16, 20);
        for(int k = 0; k < 8; k++)
            drawImage(rm.img_icon, rm.getImageCoord(k + 1, 12, 12), (Harry.CX - 48) + k * 12, Harry.SH - 28);

        drawImageCenter(rm.i_p, rm.publicCoord[12], (Harry.CX - 42) + mindex * 12, (Harry.SH - 34) + frame2 * 2);
        if(shopMsg > 0)
        {
            if(shopMsg < 3 || shopMsg > 4)
                fillArea(0, 0, 31, Harry.SW, 52);
            paintBorder(0, 31, Harry.SW, 52);
            setClip(0, 0, Harry.SW, Harry.SH);
            setColor(0xffffff);
            drawString("\uD504\uB808\uB4DC", Harry.CX, 33, 17);
            if(shopMsg == 1 || shopMsg == 5)
            {
                drawString(itemstr[rTxt], Harry.CX, 49, 17);
                drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, 65, 17);
            } else
            if(shopMsg > 1 && shopMsg < 5)
            {
                drawString(itemstr[rTxt], Harry.CX, 49, 17);
                drawString("1.\uD655\uC778", Harry.CX, 65, 17);
            }
        }
    }

    public void shopKeypress(int i)
    {
        if(!shopKey)
        {
            shopKey = true;
            shopMsg = 0;
            return;
        }
        if(status == 14)
        {
            switch(i)
            {
            case 50: // '2'
                status = 12;
                shopMsg = 0;
                break;

            case 49: // '1'
                gscreen.hSlot[mindex + 1]++;
                gscreen.beans -= ITEM_PRICE[mindex + 1];
                shopMsg = 4;
                rTxt = (byte)(GameScreen.getRandom(4) + 9);
                status = 12;
                shopKey = false;
                break;
            }
            return;
        }
        switch(i)
        {
        default:
            break;

        case -3: 
        case 2: // '\002'
        case 52: // '4'
            mindex--;
            if(mindex < 0)
                mindex = 7;
            break;

        case -4: 
        case 5: // '\005'
        case 54: // '6'
            mindex++;
            if(mindex > 7)
                mindex = 0;
            break;

        case 49: // '1'
            if(shopMsg == 5)
            {
                setGameStatus((byte)2);
                shopMsg = 0;
                return;
            }
            if(gscreen.beans < ITEM_PRICE[mindex + 1])
            {
                shopMsg = 2;
                shopKey = false;
                rTxt = 15;
                return;
            }
            if(gscreen.hSlot[mindex + 1] > 9)
            {
                shopMsg = 3;
                shopKey = false;
                rTxt = 16;
                return;
            }
            shopMsg = 1;
            status = 14;
            rTxt = 13;
            shopKey = true;
            break;

        case 50: // '2'
            if(shopMsg == 0)
            {
                shopMsg = 5;
                shopKey = true;
                rTxt = 14;
                frame = 0;
                break;
            }
            if(shopMsg == 5)
            {
                shopMsg = 0;
                shopKey = true;
            }
            break;
        }
    }

    public void paintHelpArrow()
    {
        paintGraphicNumber(mindex + 1, Harry.CX - (mindex <= 8 ? 22 : 29), Harry.SH - 20);
        paintGraphicNumber(18, Harry.CX, Harry.SH - 20);
        setClipAll();
        setColor(0x3f7fff);
        drawString("\u25C0", Harry.CX / 2, Harry.SH - 22, 17);
        drawString("\u25B6", Harry.CX + Harry.CX / 2, Harry.SH - 22, 17);
        drawString("/", Harry.CX, Harry.SH - 22, 17);
    }

    public void drawText(String s, int i, int j, int k, int l)
    {
        tlen = s.length();
        offset = 0;
        ti = 0;
        tj = 0;
        for(ti = 0; ti < tlen; ti++)
            if(font.substringWidth(s, offset, ti - offset) > k)
            {
                drawSubstring(s, offset, ti - offset, i, j + tj * 13, 20);
                offset = ti;
                tj++;
            }

        drawSubstring(s, offset, ti - offset, i, j + tj * 13, 20);
    }

    public void paintHelp()
    {
        int i = Harry.CX - 47;
        int j = Harry.CY - 40;
        switch(mindex)
        {
        default:
            break;

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
            colorText("\uAC8C\uC784\uC124\uBA85", Harry.CX, 5, 2, 0);
            setClipAll();
            setColor(0);
            drawText(helptxt[mindex], Harry.CX - 50, j, 95, 110);
            break;

        case 4: // '\004'
            colorText("\uD0A4\uC870\uC791", Harry.CX, 5, 2, 0);
            setClip(0, 0, Harry.SW, Harry.SH);
            setColor(0);
            for(int k = 0; k < 7; k++)
                drawString(keytxt[k], Harry.CX - 50, 23 + k * 13, 20);

            break;

        case 5: // '\005'
            paintcardtxt("\uB808\uB355\uD1A0", "\uAE30\uBCF8 \uACF5\uACA9 \uB9C8\uBC95", 3, i, j);
            break;

        case 6: // '\006'
            paintcardtxt("\uBAA8\uBE4C\uB9AC\uC544\uBD80\uC2A4", "\uBB3C\uAC74\uC744\uBBF8\uB294\uB9C8\uBC95", 4, i, j);
            break;

        case 7: // '\007'
            paintcardtxt("\uB8E8\uBAA8\uC2A4", "\uC228\uACA8\uC9C4\uAC83\uC744", 5, i, j);
            drawString("\uCC3E\uB294 \uB9C8\uBC95", i + 10, j + 21 + 15, 20);
            break;

        case 8: // '\b'
            paintcardtxt("\uD398\uD2B8\uB85C\uB204\uC2A4", "\uB514\uBA58\uD130\uB97C \uD1F4\uCE58", 7, i, j);
            drawString("\uD558\uB294 \uB9C8\uBC95", i + 10, j + 21 + 15, 20);
            break;

        case 9: // '\t'
            colorText("\uC544\uC774\uD15C", Harry.CX, 5, 2, 0);
            setClip(0, 0, Harry.SW, Harry.SH);
            setColor(0x700000);
            drawString("\uC628\uAC16 \uB9DB\uC758 \uCF69", Harry.CX, j + 4, 17);
            setColor(0);
            drawText("\uC544\uC774\uD15C\uACFC \uB9C8\uBC95\uC0AC \uCE74\uB4DC\uAD6C\uC785.\uB178\uB780,\uCD08\uB85D,\uD551\uD06C\uCF69 \uC2B5\uB4DD\uC2DC \uAC01\uAC01 1\uAC1C,3\uAC1C,5\uAC1C\uCD94\uAC00", i - 8, j + 21, 100, 20);
            break;

        case 10: // '\n'
            colorText("\uC544\uC774\uD15C", Harry.CX, 5, 2, 0);
            drawImage(rm.img_icon, rm.getImageCoord(1, 12, 12), i, j + 2);
            drawImage(rm.img_icon, rm.getImageCoord(2, 12, 12), i, j + 42);
            setClip(0, 0, Harry.SW, Harry.SH);
            setColor(0x700000);
            drawString("\uAC1C\uAD6C\uB9AC\uCD08\uCF54\uB9BF", (i - 5) + 27, j + 4, 20);

⌨️ 快捷键说明

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