@Override
    public boolean move()
    {
        int mSR = moveScanRadius;
        age++;
        //Immediatly return false if already at destination
        if (this.getX() == dest.getX() && this.getY() == dest.getY())
        {
            return false;
        }
        else
        {        
            preMove();
            for (int x = -mSR; x < mSR+1; x++)
            {
                for (int y = -mSR; y < mSR+1; y++)
                {
                    if (this.getY() + y == start.getY() && this.getX() + x == start.getX() || (y==0 && x==0)) { continue; }
                    stepMove(x+this.getX(),y+this.getY());
                }
            }
            return postMove();
        }
    }