class Compteur5Bits { 
	/* Représente la valeur courante du compteur
	 * Seulement 31 valeurs autorisées (de 0 à 31)
	 */
	byte etat = 0; 
	  
	/** @return la valeur courante du compteur */ 
	byte getEtat() { 
		return this.etat; 
	} 
	  
	/** Incrémente l'état du compteur */ 
	void incrementer() { 
		// la valeur limite 31 est-elle atteinte ?
		if (this.etat == 31) {
			// si oui, le compteur est remis à 0
			this.etat = 0;
		} else {
			// sinon le compteur est incrémenté normalement
			this.etat += 1;  
		}
	} 
	
	/** Incrémente rapidement de 3 états en 3 états*/
	void incrementer3() {
		if (this.etat < 29) { 
			this.etat += 3; 
		} else { 
			// sinon etat >= 29, on dépasse de 31 
			this.etat += (3 - 32) ; // équivaut à this.etat -= 29; 
		}		
	}
}