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

📄 weaponiterator.java

📁 thq 发布的《worms》 motorola 源代码
💻 JAVA
字号:
public class WeaponIterator
{

    private static final int gravity = -2501;
    private static int collisionX;
    private static int collisionY;
    private static int positionX;
    private static int positionY;
    private static int oldPositionX;
    private static int oldPositionY;
    private static int initialX;
    private static int initialY;
    private static int time;
    private static int deltaTime;
    private static int sinAng;
    private static int cosAng;
    private static int sinAngleI;
    private static int cosAngleI;
    private static int gravityI;
    private static int gravityAdd;
    private static int velocity;
    private static int angle;
    private static int vectorX;
    private static int vectorY;
    private static int ox;
    private static int oy;
    private static int vx;
    private static int vy;
    private static int curWind;
    private static int windFactor;

    public WeaponIterator()
    {
    }

    public static int iterate(int i, int j, int k, int l, int i1, Team team)
    {
        windFactor = k;
        positionX = oldPositionX = vectorX = initialX = i;
        positionY = oldPositionY = vectorY = initialY = j;
        curWind = 0;
        velocity = l;
        angle = i1;
        deltaTime = 30;
        sinAng = Game.table[angle % 360] * velocity;
        cosAng = Game.table[(angle + 90) % 360] * velocity;
        time = 60;
        sinAng *= deltaTime;
        cosAng *= deltaTime;
        sinAngleI = 0;
        cosAngleI = 0;
        gravityAdd = -2501 * deltaTime;
        gravityI = 0;
        boolean flag = true;
        int j1 = 0x7fffffff;
        while(flag)
        {
            positionX = initialX + (cosAngleI >> 16) + (curWind >> 8);
            positionY = initialY - (sinAngleI + (gravityI >> 9) * time >> 16);
            time += deltaTime;
            curWind += windFactor;
            sinAngleI += sinAng;
            cosAngleI += cosAng;
            gravityI += gravityAdd;
            for(int k1 = 0; k1 < team.wormList.length; k1++)
                if(!team.wormList[k1].isDead())
                {
                    int l1 = positionX - team.wormList[k1].positionX;
                    int i2 = positionY - team.wormList[k1].positionY;
                    int j2 = l1 * l1 + i2 * i2;
                    if(j2 < j1)
                        j1 = j2;
                }

            if(positionX < 0 || positionX > 300 || positionY > 150)
                flag = false;
        }
        return j1;
    }
}

⌨️ 快捷键说明

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