gatherrule.java

来自「自己做的几个j2me程序例子。。只要在Jbuilder里open project」· Java 代码 · 共 57 行

JAVA
57
字号
package example.boids;

class GatherRule implements BoidRule, BoidsConstants{
    private int totalX;
    private int totalY;
    private int count;
    private Boid currentBoid;
    private static final int ATTRACTION_FACTOR = (1 << FIXED_POINT_SHIFT) / 40;


    GatherRule()
    {
    }


    public void reset(Boid boid)
    {
        totalX = 0;
        totalY = 0;
        count = 0;
        currentBoid = boid;
    }


    public void applyTo(Boid boid)
    {
        totalX += boid.getX();
        totalY += boid.getY();
        count++;
    }


    public int getVx()
    {
        int vx = 0;
        if (count > 0)
        {
            vx = ((totalX / count - currentBoid.getX()) * ATTRACTION_FACTOR)
                      >> FIXED_POINT_SHIFT;
        }
        return vx;
    }


    public int getVy()
    {
        int vy = 0;
        if (count > 0)
        {
            vy = ((totalY / count - currentBoid.getY()) * ATTRACTION_FACTOR)
                      >> FIXED_POINT_SHIFT;
        }
        return vy;
    }
}

⌨️ 快捷键说明

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