Jeu du pendu

Résolu
Oliwarrior -  
 Oliwarrior -
Bonjour,

Je fais un jeu du pendu avec des amis. Nous allons utiliser le Jframe d'eclipse pour l'interface. Moi je m'occupe de la méthode dejaEssaye qui regarde si la lettre a déja été saisi par l'utilisateur et retourne un boolean. Voixi mon code pour l'instant

public class JeuDuPendu { 

 

	private String chaineCacher; 
	private String chaineVue; 
	private int nbErreurs; 
	final private int MAX_ERREURS = 8; 
 

	String motsPossibles [] = {"impossible", "gentil", "monde", "chaise", 

			"maison", "decouverte", "poignarder", "nuage", "agenda", "soleil", "voyelle"}; 

    boolean [] utilises;
    
    char alphabet [] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
    		'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};

	int numeroMotAleatoire = (int) (Math.random() * motsPossibles.length);
	private char lettre; 

	public JeuDuPendu (char lettre) {
		this.lettre = lettre;
		this.utilises = new boolean [alphabet.length];
		System.out.println(this.lettre);
		
		for (int j = 0; j < alphabet.length; j++) {
			utilises[j] = false;
			System.out.println(utilises[j]);
		}
	}

	boolean dejaEssaye (char lettre){  


		boolean deja = false;
		
			
			for (int i = 0; i < alphabet.length; i++) 
				
				
		if (lettre == alphabet[i] && utilises[i] == false) {
					utilises[i] = true;
					break;
				} else {
					deja = true;
				}


			//System.out.println(deja);
			return deja; 

	}
	
 

}


et mon main

public class test {

	public static void main(String[] args) {
		 boolean utilisationLettre;
		
		JeuDuPendu taLettre = new JeuDuPendu ('b');
		
		utilisationLettre = taLettre.dejaEssaye('m');
		utilisationLettre = taLettre.dejaEssaye('b');
		
	}
		
}


Quel est le problème ? Cela me donne juste des false.

Configuration: Windows / Chrome 70.0.3538.110

2 réponses

  1. Oliwarrior
     
    En fait mon System.out.println(deja) me retourne true a chaque fois
    0
  2. Oliwarrior
     
    J'ai réussit

    import javax.swing.JOptionPane;
    
    public class JeuDuPendu { 
    
     
    
    	private String chaineCacher; 
    	private String chaineVue; 
    	private int nbErreurs; 
    	private String lettresUtilises;
    	final private int MAX_ERREURS = 8; 
     
    
    	String motsPossibles [] = {"impossible", "gentil", "monde", "chaise", 
    
    			"maison", "decouverte", "poignarder", "nuage", "agenda", "soleil", "voyelle"}; 
    
        boolean [] utilises;
        
        char alphabet [] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
        		'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
    
    	int numeroMotAleatoire = (int) (Math.random() * motsPossibles.length);
    	private char lettre; 
    
    	public JeuDuPendu (char lettre) {
    		this.lettre = lettre;
    		this.utilises = new boolean [alphabet.length];
    		System.out.println(this.lettre);
    		
    		for (int j = 0; j < alphabet.length; j++) {
    			utilises[j] = false;
    			//System.out.println(utilises[j]);
    		}
    	}
    
    	
    		//Méthode dejaEssayer
    		boolean dejaEssaye (char lettre){  
    
    
    		boolean deja = false;
    		
    			
    			for (int i = 0; i < alphabet.length; i++) 
    				
    				
    		if (lettre == alphabet[i] && utilises[i] == false) {
    				
    					utilises[i] = true;
    					break;
    					
    				} else if (lettre == alphabet[i] && utilises[i] == true) {
    					deja = true;
    					break;
    				}
    					
    			if (deja == true) {
    				JOptionPane.showMessageDialog(null, "Vous avez déjà entré la lettre " + lettre);
    		}
    
    			System.out.println(deja);
    			return deja;
    			
    
    	}
    	
     
    
    }
    
    0