package lab03;

public class Bread {
	private int[] loaves;
	private int openLoafSlices;
	private int numStale;
	private static final int SLICES_PER_LOAF = 35;
	
	public Bread() {
		loaves=new int[2]; // loaves[0]=last week, loaves[1]=this week
		openLoafSlices=0;
		numStale=0;
	}
	
	public boolean haveTwoSlices() {
		return (openLoafSlices + (SLICES_PER_LOAF * (loaves[0]+loaves[1]))) >= 2;
	}
	
	public void storeGroceries(int numLoaves) {
		if (loaves[0] > 0) {
			System.out.println("Had to throw away " + (loaves[0]) + " loaves of stale bread!");
			numStale+=loaves[0];
		}
		loaves[0]=loaves[1];
		loaves[1]=numLoaves;
	}
	
	public boolean getTwoSlices() {
		while (openLoafSlices<2) {
			if (loaves[0]<=0) {
			  if (loaves[1]<=0) return false;
			  loaves[1]--;
			} else loaves[0]--;
			openLoafSlices+=SLICES_PER_LOAF;
		}
		openLoafSlices -=2;
		return true;
	}

	/**
	 * @return the loaves
	 */
	public int getLoaves() { return loaves[0]+loaves[1]; }

	/**
	 * @return the numStale
	 */
	public int getNumStale() { return numStale; }

}
