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

📄 fighter.java

📁 j2me游戏都市骑士的代码,是一款横版格斗的游戏.可以学习参考.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            if(weapon == 41)
            {
                if(fighterCtr % 3 == 0)
                    fr++;
                if(fr > 4)
                {
                    fr = 0;
                    action = 13;
                }
            }
            if(weapon != 35 && weapon != 33)
            {
                isWeapon = true;
                if(y == maxY)
                    jt = 0;
            }
            if(weapon == 34)
                if(weaponPicked)
                {
                    isWeapon = true;
                    if(Armor[ArmorCount] == 127)
                        isWeapon = false;
                } else
                {
                    isWeapon = false;
                }
        } else
        if(action == 17)
            if(!isWeapon)
            {
                if(fighterCtr % 5 == 0)
                    action = 13;
            } else
            if(weapon == 39 && isWeapon)
            {
                if(fighterCtr % 3 == 0)
                {
                    fr++;
                    if(face == 26)
                        x += 2;
                    else
                        x -= 2;
                }
                if(fr > 2)
                {
                    fr = 0;
                    action = 13;
                }
            } else
            if(weapon == 41 && isWeapon)
            {
                if(fighterCtr % 3 == 0)
                    fr++;
                if(fr > 1)
                {
                    fr = 0;
                    action = 13;
                }
            }
        reduceHealth();
        try
        {
            if(backAttack && weaponPicked)
            {
                if(x > 50 && x <= 400)
                    if(face == 26)
                        game.RoadArms.addElement(new Arms(weapon, (short)(x - 5), (short)192));
                    else
                        game.RoadArms.addElement(new Arms(weapon, (short)(x + 5), (short)192));
                weaponPicked = false;
                isWeapon = false;
                game.weapon2 = weapon;
                Armor[0] = 127;
                weapon = 35;
                action = 13;
                fr = 0;
            }
        }
        catch(Exception exception)
        {
            System.out.println("--------------hey here is exception-----------" + exception);
        }
        if(hit)
        {
            hitCtr++;
            if(weapon == 34 && isWeapon)
                weapon = Armor[ArmorCount];
        } else
        {
            hitCtr = 0;
        }
        if(!backAttack && hitCtr != 0)
            if(face == 26)
            {
                x += 5;
                if(x > 400)
                    hit = false;
            } else
            {
                x -= 5;
                if(x < 50)
                    hit = false;
            }
        checkBound();
    }

    public void pickUpWeapon()
    {
        try
        {
            for(Enumeration enumeration = game.RoadArms.elements(); enumeration.hasMoreElements();)
            {
                Arms arms = (Arms)enumeration.nextElement();
                if(!weaponPicked && game.weapon2 != 35 && game.weapon2 != 127)
                {
                    switch(game.weapon2)
                    {
                    case 41: // ')'
                        armLyingDist = 40;
                        break;

                    case 39: // '\''
                        armLyingDist = 55;
                        break;
                    }
                    if(Math.abs(x - arms.x) <= 12 && y == maxY)
                    {
                        weaponPicked = true;
                        Armor[ArmorCount] = game.weapon2;
                        weapon = Armor[ArmorCount];
                        action = 13;
                        isWeapon = true;
                        game.weapon2 = 127;
                        game.RoadArms.removeElement(arms);
                    }
                }
            }

        }
        catch(Exception exception)
        {
            System.out.println("@@@@@@@@@@----weapon picking exception-----@@@@@@" + exception);
        }
    }

    public void dropWeapon()
    {
        try
        {
            if(weaponPicked)
            {
                if(x > 50 && x <= 400)
                    if(face == 26)
                        game.RoadArms.addElement(new Arms(weapon, (short)(x - 5), (short)192));
                    else
                        game.RoadArms.addElement(new Arms(weapon, (short)(x + 5), (short)192));
                weaponPicked = false;
                isWeapon = false;
                game.weapon2 = weapon;
                Armor[0] = 127;
                weapon = 35;
                action = 13;
                fr = 0;
            }
        }
        catch(Exception exception)
        {
            System.out.println("--------------hey here is exception-----------" + exception);
        }
    }

    public void checkBound()
    {
        if(x < 50)
        {
            x = 50;
            face = 27;
        } else
        if(x > 400)
        {
            x = 400;
            face = 26;
        }
    }

    public void DoAction(Graphics g)
    {
        if(!hit)
            switch(action)
            {
            case 18: // '\022'
            default:
                break;

            case 13: // '\r'
                drawStand(g);
                break;

            case 14: // '\016'
                if(!isWeapon)
                {
                    drawWalk(g);
                    break;
                }
                if(weapon == 39)
                {
                    axeWalk(g);
                    break;
                }
                if(weapon == 41)
                    chainWalk(g);
                break;

            case 15: // '\017'
                if(weapon == 34 && (isWeapon || !isWeapon))
                {
                    kickAttack(g);
                    break;
                }
                if(!isWeapon)
                {
                    switch(weapon)
                    {
                    case 35: // '#'
                        Attack(g);
                        break;

                    case 33: // '!'
                        crouchAttack(g);
                        break;
                    }
                    break;
                }
                switch(weapon)
                {
                case 39: // '\''
                    axeAttack(g);
                    break;

                case 41: // ')'
                    chainAttack(g);
                    break;
                }
                break;

            case 16: // '\020'
                if(isWeapon)
                {
                    if(weapon == 39)
                    {
                        axeJump(g);
                        break;
                    }
                    if(weapon == 41)
                        chainJump(g);
                } else
                {
                    drawJump(g);
                }
                break;

            case 17: // '\021'
                switch(weapon)
                {
                case 39: // '\''
                    axeAttack(g);
                    break;

                case 41: // ')'
                    chainAttack(g);
                    break;
                }
                break;

            case 19: // '\023'
                drawSumersalt(g);
                break;
            }
        update();
    }

    public void getMotion(byte byte0)
    {
        switch(byte0)
        {
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 24: // '\030'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        default:
            break;

        case 22: // '\026'
            if(hit || backAttack)
                break;
            if(y >= maxY)
                jt = 0;
            if(y >= maxY)
            {
                axeJumpCtr = 0;
                chainJumpCtr = 0;
            }
            if(jt == 0 && !isWeapon)
                action = 16;
            else
            if(weapon == 39 && axeJumpCtr == 0)
                action = 16;
            if(weapon == 41 && chainJumpCtr == 0)
                action = 16;
            break;

        case 23: // '\027'
            if(!hit && !backAttack && !isWeapon)
            {
                weapon = 33;
                action = 15;
            }
            break;

        case 25: // '\031'
            if(y != maxY)
                break;
            if(!weaponPicked)
                pickUpWeapon();
            else
                dropWeapon();
            weapon = Armor[ArmorCount];
            if(weapon != 127)
            {
                isWeapon = true;
                break;
            }
            if(weapon == 127)
            {
                isWeapon = false;
                weapon = 35;
            }
            break;

        case 27: // '\033'
            if(hit || backAttack)
                break;
            x += 5;
            checkBound();
            if(jt > 0 && y < maxY && !isWeapon && !sumerSaltPerformed)
            {
                action = 19;
                fr = 0;
                sumerSaltPerformed = true;
            } else
            if(y >= maxY)
                action = 14;
            else
            if(sumerSaltPerformed)
                jt = 13;
            face = 27;
            break;

        case 26: // '\032'
            if(hit || backAttack)
                break;
            x -= 5;
            checkBound();
            if(jt > 0 && y < maxY && !isWeapon && !sumerSaltPerformed)
            {
                action = 19;
                fr = 0;
                sumerSaltPerformed = true;
            } else
            if(y >= maxY)
                action = 14;
            else
            if(sumerSaltPerformed)
                jt = 13;
            face = 26;
            break;

        case 28: // '\034'
            if(hit || backAttack)
                break;
            if(!isWeapon)
                weapon = 35;
            if(isWeapon)
                weapon = Armor[ArmorCount];
            action = 15;
            break;

        case 34: // '"'
            if(hit || backAttack || isWeapon && !isWeapon)
                break;
            weapon = 34;
            if(face == 27)
                x++;
            else
            if(face == 26)
                x--;
            action = 15;
            break;

        case 17: // '\021'
            if(isWeapon)
                action = 17;
            break;
        }
    }

    short x;
    short y;
    byte fr;
    byte action;
    short health;
    byte face;
    boolean isWeapon;
    byte weapon;
    byte Armor[];
    byte ArmorCount;
    byte ArmsCount;
    boolean hit;
    boolean backAttack;
    Game game;
    short fighterCtr;
    short hitCtr;
    boolean weaponPicked;
    short maxY;
    boolean sumerSaltPerformed;
    long f_lag;
    byte jt;
    byte axeJumpCtr;
    byte chainJumpCtr;
    byte armLyingDist;
}

⌨️ 快捷键说明

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