package allumettes;

/**
 * Classe implémentant l'interface Jeu.
 * Ceci est le jeu réel, au coeur de la
 * partie.
 * @author edouard
 *
 */
public class JeuReel implements Jeu {

	// Attributs
	/** Nombre d'allumettes restantes. */
	private int nbAllumettes;

	/**
	 * Constructeur de la classe JeuReel.
	 * @param n Le nombre d'allumettes dans le jeu.
	 */
	public JeuReel(int n) {
		assert n >= Jeu.PRISE_MAX;
		this.nbAllumettes = n;
	}

	@Override
	public int getNombreAllumettes() {
		return nbAllumettes;
	}

	@Override
	public void retirer(int nbPrises) throws CoupInvalideException {
		if (nbPrises > 0 && nbPrises <= Jeu.PRISE_MAX
				&& nbPrises <= this.nbAllumettes) {
			this.nbAllumettes -= nbPrises;
		} else {
			throw new CoupInvalideException(nbPrises);
		}
	}


}
