Jeu du pendu

Résolu/Fermé
Oliwarrior - 12 déc. 2018 à 16:17
 Oliwarrior - 12 déc. 2018 à 19:12
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
A voir également:

2 réponses

En fait mon System.out.println(deja) me retourne true a chaque fois
0
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