Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1545 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Besoin d'aide (résolution d'un probleme sur un programme fini )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide (résolution d'un probleme sur un programme fini )

n°2242781
javalex
Posté le 12-11-2014 à 17:39:08  profilanswer
 

Bonjour,
j'aurais besoin de votre aide pour un petit probleme...
Je dois rendre ce programme pour demain, il s'agit d'un pendu.
Voila le programme:
 
void main(){
//Preambule
 println("Bienvenue au jeu du pendu, le premier joueur doit choisir un mot" );
 println("!ATTENTION! Pour jouer il faut utiliser uniquement des lettres minuscules" );
 
//Joueur 1
 String mot = readString("Entrez le mot:" );
 int nblettre = readInteger("Combien de lettres comportent votre mot ?" );
 
 int tableau[] = new int[nblettre+1];
  for (int i=1; i<tableau.length;i++){
   tableau[i]= readChar ("Entrez la lettre " + i + ":" );
 }
 
//Joueur 2
 println("C'est au deuxieme joueur de deviner le mot. Bonne chance !" );
 boolean[] boo = new boolean[nblettre];  
 int co=0;  
 int vie=11;  
 while(vie > 0 ){  
  co=0;  
  String motecran = "Mot: ";  
   for(;nblettre!= co;){  
    if (boo[co]){  
     motecran = motecran +mot.charAt(co)+" ";  
}
    else{  
     motecran = motecran +"_ ";  
}  
   co++;  
 
}  
  println(motecran);  
  char lettre = readCharacter ("Entrez votre lettre :" );  
  String rep = ("Vous avez tapé " +lettre);  
  println (rep);  
  co=0;  
  int ci=nblettre;  
  while (ci != nblettre){  
   if (lettre == mot.charAt(co)) {  
    boo[ci]=true;  
}  
   else{ci=ci-1;  
}  
   ci++;  
}  
  if (ci==0){vie=vie-1;}  
  if (vie >1 ){
   println ("Il vous reste "+vie+" vies" );  
}  
  else{  
   println("Il vous reste "+vie+" vie" );  
}  
  boolean v= true;  
  co=0;  
  while(co!=nblettre){  
   if (boo[ci]==false){  
    v = false;  
}  
   ci++;  
}  
  if (v){ vie=-1;}  
}  
 
//Resultat
 if (vie == 0){  
  println ("MINCE ! Vous avez été pendu" );  
  println ("Il fallait trouver : "+mot);}  
 if (vie == -1){  
  println ("BIEN JOUE ! C'est gagné" );  
  println (mot + (" était bien la solution" ));
  }  
}
 
 
 
 
Quand je rentre un nombre de lettre X, le programme se déroule de la facon suivante:
Je peux rentrer mon mot, le nombre de lettre X et les lettres dans l'ordre.
Puis viens le tour du joueur 2, je rentre une lettre appuie sur entré et voila;
 
Compilation réussie !
Bienvenue au jeu du pendu, le premier joueur doit choisir un mot
!ATTENTION! Pour jouer il faut utiliser uniquement des lettres minuscules
C'est au deuxieme joueur de deviner le mot. Bonne chance !
Mot: _ _ _ _ _ _ _  
Vous avez tapé a
Il vous reste 11 vies
 
-------------------
Erreur lors de l'exécution de la proglet
java.lang.ArrayIndexOutOfBoundsException: X ( le nombre de lettre )
.main(JvsToJavaTranslated22.java:57)
.run(JvsToJavaTranslated22.java:1)
 
-------------------
 
Il faut savoir que le programme marchait hier. Je n'ai apporté que de petites modifs,.. je n'en connais pas la cause.
 
Merci d'avance pour votre aide

mood
Publicité
Posté le 12-11-2014 à 17:39:08  profilanswer
 

n°2242790
javalex
Posté le 12-11-2014 à 18:54:04  profilanswer
 

J'aurais vraiment besoin d'aide... Je comprends pas d'où viens le probleme

n°2242836
lasnoufle
La seule et unique!
Posté le 13-11-2014 à 00:44:48  profilanswer
 

co=0;  
while(co!=nblettre){  
 if (boo[ci]==false){  
  v = false;  
 }  
 ci++;  
}  

Boucle infinie car co ne change jamais, en revanche ci augmente de 1 a chaque passage donc aura rapidement depasse la taille de boo.

 

PS: "votre mot" c'est singulier aussi, merci.


Message édité par lasnoufle le 13-11-2014 à 00:47:20

---------------
C'était vraiment très intéressant.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Besoin d'aide (résolution d'un probleme sur un programme fini )

 

Sujets relatifs
probleme avec cmd et ftpaide création SGBD
aide moi svp[PHP]Aide Débutant Ajouter Captcha formulaire de contact existant
besoin daide avec les variables uint16_ttable hachage petit problème c++
aide urgentaide vba excel to ppt
Rapport d'analyse - aide à la conceptionun problème d'un mon programme ?
Plus de sujets relatifs à : Besoin d'aide (résolution d'un probleme sur un programme fini )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR