import java.util.*;

public class BowTieNeighborhood implements NeighborhoodConstructor {
    int size;

    public BowTieNeighborhood(int s) {
        size = s;
    }

    public LinkedList getNeighborhood(int i,
                                      int j,
                                      int width,
                                      int height,
                                      Agent[][] world,
                                      boolean wrap)
    {
        int a,b,c;
        LinkedList nbhd = new LinkedList();
        for (a=1; a<=size; a++) {
            for (b=-a; b<=a; b++) {
                nbhd.add( world[ (i+a+width) % width][ (j+b+height) % height] );
                nbhd.add( world[ (i-a+width) % width][ (j+b+height) % height] );
            } 
        }
        return nbhd;
    }
}

