public static ArrayList<Coords> coordsAtRange(Coords centre,int range){
  ArrayList<Coords> result=new ArrayList<Coords>(range * 6);
  if (range < 1) {
    result.add(centre);
    return result;
  }
  for (int dir=0; dir < 6; dir++) {
    Coords corner=centre.translated(dir,range);
    for (int count=0; count < range; count++) {
      result.add(corner);
      corner=corner.translated((dir + 2) % 6);
    }
  }
  return result;
}

public static ArrayList < Coords > coordsAtRange ( Coords centre , int range ) { ArrayList < Coords > result = new ArrayList < Coords > ( range * 6 ) ; if ( range < 1 ) { result . add ( centre ) ; return result ; } for ( int dir = 0 ; dir < 6 ; dir ++ ) { Coords corner = centre . translated ( dir , range ) ; for ( int count = 0 ; count < range ; count ++ ) { result . add ( corner ) ; corner = corner . translated ( ( dir + 2 ) % 6 ) ; } } return result ; }
gets a ring of hexes at a specified distance from the centre
