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

📄 fighter.java

📁 j2me游戏都市骑士的代码,是一款横版格斗的游戏.可以学习参考.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                    fr++;
                    break label0;

                case 1: // '\001'
                    y = 176;
                    g.setClip((x - 28) + game.x1, y - 24, 56, 48);
                    g.clipRect((x - 28) + game.x1, y - 24, 56, 48);
                    g.drawRegion(game.dieIm, 56, 0, 56, 48, 2, (x - 28) + game.x1, y - 24, 0x10 | 4);
                    fr++;
                    break label0;

                case 2: // '\002'
                    char c1 = '\310';
                    g.setClip((x - 28) + game.x1, c1 - 24, 56, 48);
                    g.clipRect((x - 28) + game.x1, c1 - 24, 56, 48);
                    g.drawRegion(game.dieIm, 0, 0, 56, 48, 2, (x - 28) + game.x1, c1 - 24, 0x10 | 4);
                    break;
                }
                if(System.currentTimeMillis() % 5L == 0L)
                {
                    fr = 0;
                    backAttack = false;
                    hit = false;
                    face = 27;
                }
                break;
            }
        g.setClip(0, 0, game.WIDTH, game.HEIGHT);
    }

    public int enemyFighting()
    {
        for(Enumeration enumeration = game.enemyMan.elements(); enumeration.hasMoreElements();)
        {
            Enemy enemy = (Enemy)enumeration.nextElement();
            if(enemy.Dist <= 35 || enemy.Dist <= 20 || enemy.isWeapon && enemy.Dist <= 20)
                return game.enemyMan.indexOf(enemy);
        }

        return -1;
    }

    public void reduceHealth()
    {
        int i = enemyFighting();
        if(i != -1)
        {
            Enemy enemy = (Enemy)game.enemyMan.elementAt(i);
            if(enemy.health > 0 && enemy.Dist <= 20)
                if(enemy.weapon == 35 && enemy.action == 15 && action != 17 && y == enemy.y)
                {
                    health -= 2;
                    hit = true;
                    game.gameEffects("punch");
                    if(face == enemy.face)
                        backAttack = true;
                } else
                if(enemy.weapon == 34 && enemy.action == 15 && y >= enemy.y - 5)
                {
                    health -= 3;
                    hit = true;
                    game.gameEffects("hit");
                    if(face == enemy.face)
                        backAttack = true;
                } else
                if(enemy.weapon == 33 && enemy.action == 15 && y >= enemy.y - 5)
                {
                    hit = true;
                    game.gameEffects("hit");
                    if(face == enemy.face)
                        backAttack = true;
                }
            if(enemy.health > 0 && enemy.Dist <= 35 && enemy.isWeapon)
                if(enemy.weapon == 41 && enemy.action == 15 && enemy.fr == 1 && y >= enemy.y - 5 && action != 17)
                {
                    health -= 3;
                    hit = true;
                    game.gameEffects("hit");
                    if(face == enemy.face)
                        backAttack = true;
                } else
                if(enemy.weapon == 39 && enemy.action == 15 && enemy.fr == 1 && y >= enemy.y - 5 && action != 17)
                {
                    health -= 5;
                    hit = true;
                    game.gameEffects("hit");
                    if(face == enemy.face)
                        backAttack = true;
                }
        }
    }

    public void drawSumersalt(Graphics g)
    {
        switch(face)
        {
        default:
            break;

        case 26: // '\032'
            switch(fr)
            {
            case 2: // '\002'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 5, (x - 31) + game.x1, y - 31, 0x10 | 4);
                face = 27;
                action = 13;
                break;

            case 1: // '\001'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 3, (x - 31) + game.x1, y - 31, 0x10 | 4);
                x -= 15;
                break;

            case 0: // '\0'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 6, (x - 31) + game.x1, y - 31, 0x10 | 4);
                x -= 15;
                break;
            }
            break;

        case 27: // '\033'
            switch(fr)
            {
            case 0: // '\0'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 5, (x - 31) + game.x1, y - 31, 0x10 | 4);
                x += 15;
                break;

            case 1: // '\001'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 3, (x - 31) + game.x1, y - 31, 0x10 | 4);
                x += 15;
                break;

            case 2: // '\002'
                g.setClip((x - 31) + game.x1, y - 31, 62, 62);
                g.clipRect((x - 31) + game.x1, y - 31, 62, 62);
                g.drawRegion(game.playerIm, 120, 0, 60, 60, 6, (x - 31) + game.x1, y - 31, 0x10 | 4);
                face = 26;
                action = 13;
                break;
            }
            break;
        }
        g.setClip(0, 0, game.WIDTH, game.HEIGHT);
    }

    public void update()
    {
        if(y < maxY)
        {
            if(!isWeapon && (action == 13 || action == 16 || action == 15 || action == 14))
                switch(jt)
                {
                case 0: // '\0'
                    y -= 25;
                    jt++;
                    break;

                case 1: // '\001'
                    y -= 20;
                    jt++;
                    break;

                case 2: // '\002'
                    jt++;
                    break;

                case 3: // '\003'
                    y -= 7;
                    jt++;
                    break;

                case 4: // '\004'
                    jt++;
                    break;

                case 5: // '\005'
                    y -= 5;
                    jt++;
                    break;

                case 6: // '\006'
                    jt++;
                    break;

                case 7: // '\007'
                    y -= 2;
                    jt++;
                    break;

                case 8: // '\b'
                    jt++;
                    break;

                case 9: // '\t'
                    y += 2;
                    jt++;
                    break;

                case 10: // '\n'
                    jt++;
                    break;

                case 11: // '\013'
                    y += 5;
                    jt++;
                    break;

                case 12: // '\f'
                    jt++;
                    break;

                case 13: // '\r'
                    y += 7;
                    jt++;
                    break;

                case 14: // '\016'
                    y += 20;
                    jt++;
                    break;

                case 15: // '\017'
                    y += 25;
                    jt = 0;
                    action = 13;
                    break;
                }
            if(weapon == 39 && isWeapon && (action == 16 || action == 13 || action == 15))
                switch(axeJumpCtr)
                {
                case 0: // '\0'
                    y -= 25;
                    axeJumpCtr++;
                    break;

                case 1: // '\001'
                    y -= 20;
                    axeJumpCtr++;
                    break;

                case 2: // '\002'
                    y -= 7;
                    axeJumpCtr++;
                    break;

                case 3: // '\003'
                    y -= 5;
                    axeJumpCtr++;
                    break;

                case 4: // '\004'
                    y -= 2;
                    axeJumpCtr++;
                    break;

                case 5: // '\005'
                    y += 2;
                    axeJumpCtr++;
                    break;

                case 6: // '\006'
                    y += 5;
                    axeJumpCtr++;
                    break;

                case 7: // '\007'
                    y += 7;
                    axeJumpCtr++;
                    break;

                case 8: // '\b'
                    y += 20;
                    axeJumpCtr++;
                    break;

                case 9: // '\t'
                    y += 25;
                    axeJumpCtr = 0;
                    action = 13;
                    break;
                }
            if(weapon == 41 && isWeapon && (action == 16 || action == 13 || action == 15))
                switch(chainJumpCtr)
                {
                case 0: // '\0'
                    y -= 25;
                    chainJumpCtr++;
                    break;

                case 1: // '\001'
                    y -= 20;
                    chainJumpCtr++;
                    break;

                case 2: // '\002'
                    y -= 7;
                    chainJumpCtr++;
                    break;

                case 3: // '\003'
                    y -= 5;
                    chainJumpCtr++;
                    break;

                case 4: // '\004'
                    y -= 2;
                    chainJumpCtr++;
                    break;

                case 5: // '\005'
                    y += 2;
                    chainJumpCtr++;
                    break;

                case 6: // '\006'
                    y += 5;
                    chainJumpCtr++;
                    break;

                case 7: // '\007'
                    y += 7;
                    chainJumpCtr++;
                    break;

                case 8: // '\b'
                    y += 20;
                    chainJumpCtr++;
                    break;

                case 9: // '\t'
                    y += 25;
                    chainJumpCtr = 0;
                    action = 13;
                    break;
                }
        }
        fighterCtr++;
        if(fighterCtr == 50)
            fighterCtr = 0;
        if(y >= maxY)
        {
            sumerSaltPerformed = false;
            jt = 0;
        }
        if(action == 19)
            fr++;
        if(action == 13 && jt == 0)
        {
            y = maxY;
            if(!backAttack)
                fr = 0;
        } else
        if(action == 16)
        {
            if(jt == 0 && y >= maxY && !isWeapon)
            {
                y -= 25;
                jt = 1;
                action = 13;
            }
            if(axeJumpCtr == 0 && y >= maxY && weapon == 39)
            {
                y -= 25;
                axeJumpCtr = 1;
            }
            if(chainJumpCtr == 0 && y >= maxY && weapon == 41)
            {
                y -= 25;
                chainJumpCtr = 1;
            }
        } else
        if(action == 14)
        {
            if(System.currentTimeMillis() - f_lag >= 2000L)
                fr++;
            if(fr > 1)
            {
                fr = 0;
                action = 13;
                y = maxY;
            }
        } else
        if(action == 15)
        {
            if((isWeapon || !isWeapon) && weapon == 34)
            {
                fr++;
                if(face == 26)
                    x -= 2;
                else
                    x += 2;
                if(fr > 1)
                {
                    fr = 0;
                    if(isWeapon)
                        weapon = Armor[ArmorCount];
                    action = 13;
                }
            }
            if(!isWeapon)
            {
                if(weapon == 35)
                {
                    fr = 0;
                    if(fighterCtr % 2 == 0)
                    {
                        action = 13;
                        if(face == 26)
                            x -= 2;
                        else
                            x += 2;
                    }
                } else
                if(weapon == 33)
                {
                    fr = 0;
                    if(fighterCtr % 3 == 0)
                        action = 13;
                }
            } else
            if(weapon == 39)
            {
                fr++;
                if(fr > 2)
                {
                    fr = 0;
                    action = 13;
                }
            } else

⌨️ 快捷键说明

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