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

📄 collisioniterator.java

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

    public static int collisionX;
    public static int collisionY;

    public CollisionIterator()
    {
    }

    public static int sgn(int i)
    {
        return i >= 0 ? ((int) (i <= 0 ? 0 : 1)) : -1;
    }

    public static boolean checkCollision(int i, int j, int k, int l, Landscape landscape, Worm worm)
    {
        int k1 = k - i;
        int l1 = l - j;
        int k2 = Math.abs(k1);
        int l2 = Math.abs(l1);
        int i2 = sgn(k1);
        int j2 = sgn(l1);
        int i3 = l2 >> 1;
        int j3 = k2 >> 1;
        int k3 = i;
        int l3 = j;
        if(landscape.earthCollision(k3, l3, true, worm))
        {
            collisionX = k3;
            collisionY = l3;
            return true;
        }
        if(k2 >= l2)
        {
            for(int i1 = 0; i1 < k2; i1++)
            {
                j3 += l2;
                if(j3 >= k2)
                {
                    j3 -= k2;
                    l3 += j2;
                }
                k3 += i2;
                if(landscape.earthCollision(k3, l3, true, worm))
                {
                    collisionX = k3;
                    collisionY = l3;
                    return true;
                }
            }

        } else
        {
            for(int j1 = 0; j1 < l2; j1++)
            {
                i3 += k2;
                if(i3 >= l2)
                {
                    i3 -= l2;
                    k3 += i2;
                }
                l3 += j2;
                if(landscape.earthCollision(k3, l3, true, worm))
                {
                    collisionX = k3;
                    collisionY = l3;
                    return true;
                }
            }

        }
        return false;
    }
}

⌨️ 快捷键说明

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