Bonsoir, j'ai un petit problème avec mon jeu. Le problème est le suivant : même quand je tape toutes les lettres données par l'ordinateur, il me dit que j'ai perdu alors normalement j'ai gagné. Pourrez-vous me dire a quel niveau se trouve le probleme? Merci d'avance et bonne soirée...
Voici mon code source.
public class Lettres2 {
public static void main(String[] args) {
String alphabet="aeiouybcdfghjklmnpqrstvwxz";
int []Tab_alphabet_nbr= new int [26];
String lettreDuMot="";
String MotSaisie;
char choixCV;
char lettre='0';
boolean verif1=true;
int cpt=0;
int nbr_alea=0;
for (int i=0;i<Tab_alphabet_nbr.length;i++){
Tab_alphabet_nbr[i]=0;
}
for(int i=0;i<9;i++){
System.out.println("Consone ou voyelle c/v : ");
choixCV=Lire.c();
if(choixCV=='c'){
nbr_alea=(int)((Math.random()*20)+6);
lettreDuMot+=alphabet.charAt(nbr_alea);
}
if(choixCV=='v'){
nbr_alea=(int)(Math.random()*6);
lettreDuMot+=alphabet.charAt(nbr_alea);
}
}
System.out.println("Entrez le mot contenant les lettres "+lettreDuMot+ " :");
MotSaisie=Lire.S();
for(int q=0;q<lettreDuMot.length();q++){
lettre=lettreDuMot.charAt(q);
for(int b=0;b<alphabet.length();b++){
if(alphabet.charAt(b)==lettre){
Tab_alphabet_nbr[b]++;
}
}
}
while(cpt<MotSaisie.length() && verif1==true){
for(int i=0;i<MotSaisie.length();i++){
if(lettreDuMot.contains((""+MotSaisie.charAt(i)))){
for(int y=0;y<alphabet.length();y++){
if(MotSaisie.charAt(i)==alphabet.charAt(y)){
if(Tab_alphabet_nbr[y]-1>=0){
Tab_alphabet_nbr[y]--;
if(Tab_alphabet_nbr[y]<0){
verif1=false;
}
}
else
verif1=false;
}
}
}
else
verif1=false;
}
cpt++;
}
if(verif1==true){
System.out.println("Gagné... Mot trouve de " +MotSaisie.length()+" lettres!!!");
}
else
System.out.println("Perdu...");
}
}