public class JeuPileFace {
	
    //configuration du plateau 
    private boolean conf [];

    JeuPileFace(){
	conf = new boolean[4];
    }
	
    public boolean confGagnante(){
	return (conf[0] & conf[1] & conf[2] & conf[3]);
    };
	
    public void initialiseConf(){
	while (confGagnante()){
	    for (int i = 0; i <4; i++) 
		conf[i] = (Math.random() < 0.5); 
	};
    }
	
    public void affichePlateau(){
	if (conf[0]) 
	    System.out.println(" P ");
	else 
	    System.out.println(" F ");
		
	if (conf[1]) 
	    System.out.print("P ");
	else 
	    System.out.print("F ");
		
	if (conf[3]) 
	    System.out.println("P");
	else 
	    System.out.println("F");
		
	if (conf[2]) 
	    System.out.println(" P ");
	else 
	    System.out.println(" F ");
	
    }
	
    public void afficheAveugle(){
	System.out.println(" * ");
	System.out.println("* *");
	System.out.println(" * ");
    }
	
    public void rotation(int n){
	if (n > 0) {
	    boolean temp = conf[3];
	    conf[3] = conf[2];
	    conf[2] = conf[1];
	    conf[1] = conf[0];
	    conf[0] = temp;
	    rotation(n-1);
	};
    }
	
    public int rotationAleatoire(){
	int n = (int) (Math.random()*4);
	rotation(n);
	return(n);
    }
	
    public void retournePiece(char a){
	switch(a){
	case 'h' : 
	    conf[0] = !conf[0]; //retourne piece du haut
	    break;
	case 'g' : 
	    conf[1] = !conf[1]; //retourne piece a gauche
	    break;
	case 'b' : 
	    conf[2] = !conf[2]; //retourne piece du bas
	    break;
	case 'd' : 
	    conf[3] = !conf[3]; //retourne piece de droite
	    break;
	}
    }
	
    public void retournePiece(String mot){
	for(int i =0; i< mot.length(); i++){
	    retournePiece(mot.charAt(i));
	};
    }
}