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

📄 gamescreen.java

📁 韩国手机游戏完整原代码及资源 “哈利伯特“
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            hjumptype = 1;
            hjumpidx = 0;
            hjumpdir = -1;
            hstatus = 3;
            break;
        }
        setHarryAnim(hstatus);
    }

    private void setHarryAnim(byte byte0)
    {
        hanimindex = 0;
        hanimstep = 0;
        if(hanimstart[byte0][hanimindex] == -1)
        {
            hanimstep = 1;
            hanimdata = hanims[byte0];
            if(hanims[byte0][hanimindex] == -1)
            {
                hanimstep = 2;
                hanimdata = hanimend[byte0];
            }
        } else
        {
            hanimdata = hanimstart[byte0];
        }
    }

    public void setEffect(int l, int i1, int j1)
    {
        if(effalive)
        {
            return;
        } else
        {
            efftype = (byte)l;
            effx = i1;
            effy = j1;
            effcount = 0;
            effalive = true;
            return;
        }
    }

    public void addExp(int l)
    {
        exp += l;
        expcount = 5;
        exppoint = l;
        if(grade == 7)
            return;
        if(exp > MAX_EXP[grade])
        {
            grade++;
            hlife = maxhlife;
            killMon(-1, (byte)-1);
            ItemEff = 10;
            g_status = 101;
            rm.play(2, false);
        }
    }

    public void transObj(int l, int i1, int j1)
    {
        switch(getRandom(10 - grade))
        {
        case 0: // '\0'
        case 4: // '\004'
        case 8: // '\b'
            popObj((byte)0, l, i1 - 10, j1);
            break;

        case 1: // '\001'
        case 5: // '\005'
        case 9: // '\t'
            popMon((byte)6, l, i1);
            break;

        case 2: // '\002'
        case 6: // '\006'
            popObj((byte)3, l, i1 - 17, j1);
            break;

        case 3: // '\003'
        case 7: // '\007'
            popObj((byte)1, l, i1 - 17, j1);
            break;
        }
    }

    public void changeMon(int l, int i1, int j1)
    {
        if(getPercent(30 + grade * 10))
            transObj(l, i1 - 10, j1);
        else
            popMon((byte)getRandom(5), l, i1 - 10);
    }

    public void useItem(byte byte0)
    {
        hSlot[byte0]--;
        ItemEff = byte0;
        g_status = 101;
    }

    public void setGetinfo(int l)
    {
        getitem = (byte)l;
        getcount = 10;
    }

    public void keyPressed(int l)
    {
        keycode = l;
label0:
        switch(g_status)
        {
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        default:
            break;

        case 10: // '\n'
            switch(keycode)
            {
            case -7: 
            case 12: // '\f'
            case 35: // '#'
                g_status = pregame;
                break;
            }
            break;

        case 9: // '\t'
            if(ingameEndmsg)
            {
                switch(l)
                {
                case 49: // '1'
                    gc.end();
                    break;

                case 50: // '2'
                    ingameEndmsg = false;
                    break;
                }
                return;
            }
            switch(l)
            {
            case 0: // '\0'
            case 3: // '\003'
            case 4: // '\004'
            case 7: // '\007'
            case 9: // '\t'
            case 10: // '\n'
            case 12: // '\f'
            case 13: // '\r'
            case 14: // '\016'
            case 15: // '\017'
            case 16: // '\020'
            case 17: // '\021'
            case 18: // '\022'
            case 19: // '\023'
            case 20: // '\024'
            case 21: // '\025'
            case 22: // '\026'
            case 23: // '\027'
            case 24: // '\030'
            case 25: // '\031'
            case 26: // '\032'
            case 27: // '\033'
            case 28: // '\034'
            case 29: // '\035'
            case 30: // '\036'
            case 31: // '\037'
            case 32: // ' '
            case 33: // '!'
            case 34: // '"'
            case 35: // '#'
            case 36: // '$'
            case 37: // '%'
            case 38: // '&'
            case 39: // '\''
            case 40: // '('
            case 41: // ')'
            case 43: // '+'
            case 44: // ','
            case 45: // '-'
            case 46: // '.'
            case 47: // '/'
            case 48: // '0'
            default:
                break;

            case -1: 
            case 1: // '\001'
                mindex--;
                if(mindex < 0)
                    mindex = 4;
                rm.play(4, false);
                break label0;

            case -2: 
            case 6: // '\006'
                mindex++;
                if(mindex > 4)
                    mindex = 0;
                rm.play(4, false);
                break label0;

            case -6: 
            case 11: // '\013'
            case 42: // '*'
            case 49: // '1'
                g_status = pregame;
                break label0;

            case 51: // '3'
                gc.setSoundMax();
                mindex = 2;
                break label0;

            case 52: // '4'
                gc.menu();
                break label0;

            case 50: // '2'
                gc.setGameStatus((byte)17, (byte)2);
                break label0;

            case 53: // '5'
                mindex = 4;
                ingameEndmsg = true;
                break label0;

            case -3: 
            case 2: // '\002'
                if(mindex == 2)
                    gc.setSoundMin();
                break label0;

            case -4: 
            case 5: // '\005'
                if(mindex == 2)
                    gc.setSoundMax();
                break label0;

            case -5: 
            case 8: // '\b'
                if(mindex == 0)
                {
                    g_status = pregame;
                    break label0;
                }
                if(mindex == 1)
                {
                    gc.setGameStatus((byte)17, (byte)2);
                    break label0;
                }
                if(mindex == 3)
                {
                    gc.setHighscore(score);
                    gc.menu();
                    break label0;
                }
                if(mindex == 2)
                    gc.setSoundMax();
                else
                    ingameEndmsg = true;
                break;
            }
            break;

        case 2: // '\002'
            switch(l)
            {
            case 0: // '\0'
            case 3: // '\003'
            case 4: // '\004'
            case 7: // '\007'
            case 9: // '\t'
            case 10: // '\n'
            case 13: // '\r'
            case 14: // '\016'
            case 15: // '\017'
            case 16: // '\020'
            case 17: // '\021'
            case 18: // '\022'
            case 19: // '\023'
            case 20: // '\024'
            case 21: // '\025'
            case 22: // '\026'
            case 23: // '\027'
            case 24: // '\030'
            case 25: // '\031'
            case 26: // '\032'
            case 27: // '\033'
            case 28: // '\034'
            case 29: // '\035'
            case 30: // '\036'
            case 31: // '\037'
            case 32: // ' '
            case 33: // '!'
            case 34: // '"'
            case 36: // '$'
            case 37: // '%'
            case 38: // '&'
            case 39: // '\''
            case 40: // '('
            case 41: // ')'
            case 43: // '+'
            case 44: // ','
            case 45: // '-'
            case 46: // '.'
            case 47: // '/'
            default:
                break;

            case -6: 
            case 11: // '\013'
            case 42: // '*'
                pregame = g_status;
                g_status = 9;
                mindex = 0;
                GameScreen _tmp = this;
                GameCanvas.tmpidx = 0;
                break label0;

            case -7: 
            case 12: // '\f'
            case 35: // '#'
                pregame = g_status;
                g_status = 10;
                break label0;

            case -5: 
            case 8: // '\b'
            case 53: // '5'
                if(hobjon)
                {
                    if(puzzleon)
                    {
                        if(puzzle[pidx] == objinfo[hobjidx][4])
                        {
                            pidx++;
                            if(pidx < puzzle.length && puzzle[pidx] == -1)
                                puzzleon = false;
                            else
                            if(pidx >= puzzle.length)
                                puzzleon = false;
                            if(!puzzleon)
                                setdoor(2);
                        } else
                        {
                            pidx = 0;
                        }
                        return;
                    }
                    if(objinfo[hobjidx][0] == 12)
                    {
                        gc.setGameStatus((byte)12, (byte)2);
                        objinfo[hobjidx][4] = 1;
                        setEffect(0, hx - 5, hy - 10);
                    } else
                    {
                        objinfo[hobjidx][1] = 0;
                        byte abyte0[][] = rm.getMapData(scrinfo[mapID], (byte)2);
                        abyte0[objinfo[hobjidx][6]][1] = 0;
                        setdoor(2);
                    }
                    break label0;
                }
                if(!hshotready)
                {
                    hshotcount = 0;
                    hshotready = true;
                }
                hstatus = 4;
                setHarryAnim(hstatus);
                break label0;

            case -3: 
            case 2: // '\002'
            case 52: // '4'
                move((byte)2);
                break label0;

            case -4: 
            case 5: // '\005'
            case 54: // '6'
                move((byte)3);
                break label0;

            case -1: 
            case 1: // '\001'
            case 50: // '2'
                move((byte)0);
                break label0;

            case -2: 
            case 6: // '\006'
            case 56: // '8'
                if(getTilenum(hx, hy) == 9)
                    move((byte)1);
                break label0;

            case 49: // '1'
                move((byte)6);
                break label0;

            case 51: // '3'
                move((byte)5);
                break label0;

            case 55: // '7'
                selectmagic++;
                if(selectmagic > maxmagic)
                  

⌨️ 快捷键说明

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