public JuvenileForm breed(int width, int height){
		int size = getSize() * 2;
		JuvenileForm juvenile = new JuvenileForm();
		juvenile.setSize(size/2);
		juvenile.setNutrientsLimit(getNutrientsLimit());
		juvenile.setActionFrequency(getActionFrequency());
		juvenile.setCostTimeToStoreNutrients(getCostTimeToStoreNutrients());
		int x, y;
		do{
			x = size - 2 * rand.nextInt(size+1);
			y = size - Math.abs(x);
			if(rand.nextInt(2) == 1){
				y *= -1;
			}
			x += getX();
			y += getY();
		}while(((x-size/2)<0) || (width<(x+size/2)) || ((y-size/2)<0) || (height<(y+size/2)));
		//System.out.println("p: ("+x+", "+y+") c: ("+x+", "+y+")");
		juvenile.setPosition(x, y);
		consume(nutrientsNeededForBreeding);
		return juvenile;
	}