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

📄 fight.java

📁 vc++贪心解装箱.cpp dddvc++贪心解装箱.cpp
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            return;
        for(int i = 0; i < iMMonsters; i++)
            if(iMDoing[i] == 0 || iMDoing[i] == 1 || iMDoing[i] == 3)
                I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 0);
            else
            if(iMDoing[i] == 4)
                I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 1);
            else
            if(iMDoing[i] == 5)
                I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 0);

        for(int j = 0; j < iEPlayers; j++)
        {
            int i1 = iEImage[j];
            if(iEDoing[j] == 0 || iEDoing[j] == 1 || iEDoing[j] == 3 || iEDoing[j] == 6 || iEDoing[j] == 7 || iEDoing[j] == 8)
                I2E[i1].drawFrame(g, iEXPos[j], iEYPos[j] - I2E[i1].dy, 0);
            else
            if(iEDoing[j] == 4)
                I2E[i1].drawFrame(g, iEXPos[j], _$802[j] - I2E[i1].dy, 1);
            else
            if(iEDoing[j] == 5)
                I2E[i1].drawFrame(g, iEXPos[j], _$802[j] - I2E[i1].dy, 0);
            if(iEDoing[j] == 8 && (frames >> 1 & 0x1) == 0)
                I2Potion.draw(g, iEXPos[j], iEYPos[j] - I2E[i1].dy);
        }

        for(int k = 0; k < iMMonsters; k++)
            if(iMLife[k] > 0)
            {
                mu.printValue(g, 21, _$805[k] - 1, iMLife[k]);
                I2Heart.draw(g, 11, _$805[k] - 1);
            }

        for(int l = 0; l < 3; l++)
            if(iEDoing[l] != 98)
            {
                Graphics _tmp = g;
                mu.printValue(g, -20, _$805[l] - 1, iELife[l], 8);
                Graphics _tmp1 = g;
                I2Heart.draw(g, -11, _$805[l] - 1, 8);
            }

        Graphics _tmp2 = g;
        I2Potion.draw(g, -60, 100, 8);
        Graphics _tmp3 = g;
        mu.printValue(g, -60 - I2Potion.dx - 2, 102, iPotions, 8);
        drawFlyingValues(g);
        if(iMonsterTypeDamage[iMonsterType] == 0)
        {
            mu.print(g, 66, 23, 297);
            mu.print(g, 66, 50, 299);
            mu.print(g, 66, 77, 300);
            int j1 = frames / 3 & 0x3;
            if(j1 == 3)
                j1 = 1;
            I2Tut.drawFrame(g, 52 + j1, 25, 0);
            I2Tut.drawFrame(g, 52 + j1, 52, 0);
            I2Tut.drawFrame(g, 52 + j1, 79, 0);
            mu.print(g, 109, 37, 298);
            mu.print(g, 109, 64, 301);
            I2Tut.drawFrame(g, 115, 27 + j1, 2);
            I2Tut.drawFrame(g, 115, 49 - j1, 1);
            I2Tut.drawFrame(g, 115, 55 + j1, 2);
            I2Tut.drawFrame(g, 115, 78 - j1, 1);
            Graphics _tmp4 = g;
            mu.print(g, 0, 4, 303, 2);
            Graphics _tmp5 = g;
            Graphics _tmp6 = g;
            mu.print(g, 0, -32, 302, 0x2 | 0x20);
        }
        frames++;
    }

    public boolean run()
    {
        running = true;
        for(int i = 0; i < 3; i++)
        {
            if(mu.key_num[1 + i * 3] && iEDoing[i] == 0 && iMDoing[i] < 98)
            {
                iEDoing[i] = 1;
                bMUnderAttack[i] = true;
            }
            if(mu.key_num[3 + i * 3] && iEDoing[i] == 0 && iPotions > 0)
            {
                iPotions--;
                iEDoing[i] = 8;
                iEValue[i] = 15;
            }
        }

        if(mu.key_num[2])
        {
            int j = ((_$802[1] - _$802[0]) * 3) / iMSpeed;
            j += 8;
            if((iMXPos[0] < j || iMLife[0] <= 0 || iMDoing[0] == 3) && (iMXPos[1] < j || iMLife[1] <= 0 || iMDoing[1] == 3) && (iEDoing[0] == 0 || iELife[0] <= 0) && (iEDoing[1] == 0 || iELife[1] <= 0) && (iELife[1] > 0 || iEDoing[2] != 6))
            {
                if(iELife[0] > 0)
                    iEDoing[0] = 7;
                if(iELife[1] > 0)
                    iEDoing[1] = 6;
            }
        }
        if(mu.key_num[8])
        {
            int k = ((_$802[2] - _$802[1]) * 3) / iMSpeed;
            k += 8;
            if((iMXPos[1] < k || iMLife[1] <= 0 || iMDoing[1] == 3) && (iMXPos[2] < k || iMLife[2] <= 0 || iMDoing[2] == 3) && (iEDoing[1] == 0 || iELife[1] <= 0) && (iEDoing[2] == 0 || iELife[2] <= 0) && (iELife[1] > 0 || iEDoing[0] != 7))
            {
                if(iELife[1] > 0)
                    iEDoing[1] = 7;
                if(iELife[2] > 0)
                    iEDoing[2] = 6;
            }
        }
        if(runPlayers())
        {
            _$1452();
            bPlayerWins = false;
            return true;
        }
        if(runMonsters())
        {
            _$1452();
            bPlayerWins = true;
            return true;
        } else
        {
            running = false;
            return false;
        }
    }

    boolean runMonsters()
    {
        boolean flag = true;
        for(int i = 0; i < iMMonsters; i++)
        {
            if(iMLife[i] > 0)
                flag = false;
            switch(iMDoing[i])
            {
            case 2: // '\002'
            default:
                break;

            case 0: // '\0'
                if(random.nextInt() % iMWait == 0 && (iEDoing[i] == 0 || iEDoing[i] == 8 || iEDoing[i] == 1))
                {
                    iMDoing[i] = 1;
                    bEUnderAttack[i] = true;
                }
                break;

            case 1: // '\001'
                iMXPos[i] += iMSpeed;
                if(iMXPos[i] + I2Monster[_$552].dx > iEXPos[i] && iELife[i] > 0)
                    setInitiative(i);
                if(iELife[i] <= 0)
                    iMDoing[i] = 3;
                break;

            case 4: // '\004'
                if(++iMValue[i] == 4)
                {
                    hitPlayer(i);
                    iMDoing[i] = 3;
                }
                break;

            case 3: // '\003'
                if(iMXPos[i] <= 8)
                {
                    bMUnderAttack[i] = false;
                    iMDoing[i] = 0;
                } else
                {
                    iMXPos[i] -= iMSpeed;
                }
                break;

            case 5: // '\005'
                if(++iMValue[i] == 5)
                    iMDoing[i] = 3;
                break;
            }
        }

        return flag;
    }

    boolean runPlayers()
    {
        boolean flag = true;
        for(int i = 0; i < 3; i++)
        {
            if(iELife[i] > 0)
                flag = false;
            switch(iEDoing[i])
            {
            case 0: // '\0'
            case 2: // '\002'
            default:
                break;

            case 1: // '\001'
                iEXPos[i] -= iESpeed[i];
                if(iEXPos[i] < iMXPos[i] + I2Monster[_$552].dx)
                    setInitiative(i);
                break;

            case 4: // '\004'
                if(++iEValue[i] == 4)
                {
                    hitMonster(i);
                    iEDoing[i] = 3;
                }
                break;

            case 3: // '\003'
                if(iEXPos[i] >= 100)
                {
                    bEUnderAttack[i] = false;
                    iEDoing[i] = 0;
                } else
                {
                    iEXPos[i] += iESpeed[i];
                }
                break;

            case 5: // '\005'
                if(++iEValue[i] == 5)
                    iEDoing[i] = 3;
                break;

            case 6: // '\006'
                iEYPos[i] -= 3;
                if(iELife[i - 1] <= 0 && iEYPos[i] < _$802[i - 1])
                {
                    iEYPos[i] = _$802[i - 1];
                    iEYPos[i - 1] = _$802[i];
                    iEDoing[i - 1] = 0;
                    iEDoing[i] = 98;
                    switchPlayerValues(i - 1, i);
                }
                break;

            case 7: // '\007'
                iEYPos[i] += 3;
                if(iEYPos[i] <= _$802[i + 1])
                    break;
                iEYPos[i] = _$802[i + 1];
                iEYPos[i + 1] = _$802[i];
                if(iELife[i + 1] > 0)
                    iEDoing[i] = 0;
                else
                    iEDoing[i] = 98;
                iEDoing[i + 1] = 0;
                switchPlayerValues(i, i + 1);
                break;

            case 8: // '\b'
                if(--iEValue[i] == 0)
                {
                    iELife[i] = iELifeMax[i];
                    iEDoing[i] = 0;
                }
                break;
            }
        }

        return flag;
    }

    private void _$1452()
    {
        if(iEImage[2] == 0)
            switchPlayerValues(1, 2);
        if(iEImage[1] == 0)
            switchPlayerValues(0, 1);
        if(iEImage[1] == 2)
            switchPlayerValues(1, 2);
    }

    void setFlyingValue(int i, int j)
    {
        iDDamage[i] = j;
        if(i < 3)
        {
            iDX[i] = iMXPos[i];
            iDY[i] = _$802[i] - I2Monster[_$552].dy;
        } else
        {
            iDX[i] = iEXPos[i - 3] + 5;
            iDY[i] = _$802[i - 3] - 20;
        }
        iDValue[i] = 20;
    }

    void setInitiative(int i)
    {
        iMValue[i] = 0;
        iEValue[i] = 0;
        byte byte0 = 30;
        int j = 8 + byte0;
        int k = 100 - byte0;
        iMDoing[i] = 5;
        iEDoing[i] = 5;
        if(iEXPos[i] <= k)
            iEDoing[i] = 4;
        if(iMXPos[i] >= j)
            iMDoing[i] = 4;
    }

    void switchPlayerValues(int i, int j)
    {
        int k = iEPlayer[j];
        iEPlayer[j] = iEPlayer[i];
        iEPlayer[i] = k;
        k = iEDamage[j];
        iEDamage[j] = iEDamage[i];
        iEDamage[i] = k;
        k = iEArmor[j];
        iEArmor[j] = iEArmor[i];
        iEArmor[i] = k;
        k = iELife[j];
        iELife[j] = iELife[i];
        iELife[i] = k;
        k = iELifeMax[j];
        iELifeMax[j] = iELifeMax[i];
        iELifeMax[i] = k;
        k = iESpeed[j];
        iESpeed[j] = iESpeed[i];
        iESpeed[i] = k;
        k = iEImage[j];
        iEImage[j] = iEImage[i];
        iEImage[i] = k;
        k = iEXPos[j];
        iEXPos[j] = iEXPos[i];
        iEXPos[i] = k;
        k = iEYPos[j];
        iEYPos[j] = iEYPos[i];
        iEYPos[i] = k;
    }

}

⌨️ 快捷键说明

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