protected void placeSheeps() { sheeps = new ArrayList<>(par.numSheeps); double range = par.arenaSize / par.numSheeps; for (int i = 0; i < par.numSheeps; i++) { Sheep sheep = new Sheep(this, field); Double2D newLoc = null; if (par.randomSheepPosition) { newLoc = new Double2D( par.sheepX * par.arenaSize, i * range + sheep.getRadius() + random.nextDouble() * (range - sheep.getRadius() * 2)); } else { newLoc = new Double2D(par.sheepX * par.arenaSize, i * range + range / 2); } if (par.sheepPositionOffset > 0) { Double2D deviation = new Double2D( (random.nextDouble() * 2 - 1) * par.sheepPositionOffset, (random.nextDouble() * 2 - 1) * par.sheepPositionOffset); newLoc = newLoc.add(deviation); } sheep.setLocation(newLoc); sheep.setStopper(schedule.scheduleRepeating(sheep)); sheeps.add(sheep); } activeSheeps = new ArrayList<>(sheeps); }