Bonjour, dans le cadre de l'option BAC ISN, nous devons réalisé un Pendu sur Javascool. Le jeu se jouerait seul, le mot à deviner serait choisit aléatoirement. Le joueur possède 8 points de vie. Nous aimerions afficher suivant la situation l'image du pendu qui convient. Mais pour l'instant nous aimerions réussir la base du programme.
Nous y sommes déjà depuis plusieurs semaines mais n'étant pas vraiment à l'aise en programmation, nous avons plusieurs problèmes non résolus :
1) Problème pour la reconnaissance des lettres du mot et la comparaison à la lettre donnée par le joueur.
2) Bloquer au bout d'un certain nombre de vies
3) Possibilité d'afficher une image et une fenêtre annexe où serait affiché le mot (ex : A_ B_ _ _ )
Merci d'avance pour vos réponses et votre compréhension.
Programme :
import java.util. *;
import java.io. *;
void main(){
int n;
//Liste des mots
ArrayList<String> dataFichier = new ArrayList<String>();
//Ouverture du fichier data.txt et lecture des données
try {
FileReader fr = new FileReader("Base de donnée mots.txt");
BufferedReader br = new BufferedReader(fr);
String ligne = br.readLine();
while (ligne != null) {
dataFichier.add(ligne);
ligne = br.readLine();
}
}
catch(FileNotFoundException e) {
println("Fichier non trouvé !");
}
catch(IOException e) {
println("Problème à la lecture du fichier !");
}
String motchoisi;
n = dataFichier.size();
motchoisi = dataFichier.get(random(0,n));
// Menu du jeu
int choix;
choix=0;
while (choix<3){ // écrire le menu
println ("---------------------------------------------------");
println ("Saississez un choix : ");
println ("1 : Jouer au pendu");
println ("2 : Afficher les règles du jeu");
println ("3 : Quitter");
println ("---------------------------------------------------");
choix = readInteger ();
switch(choix){
// afficher le premier choix du menu
case 1:
// le boolean affiche une fenêtre proposant à l'utilisateur de jouer
boolean Jouer;
Jouer=readBoolean("Lancer une partie ?");
// S'ils répondent oui, la partie commence.
while (Jouer==true){
// On efface le contenu de la console.
int r;
String chaineUp;
println(motchoisi);
r = motchoisi.length ();
println("");
println("Vous avez 6 vies.");
println("");
println("il y a " + r + " lettres C'EST PARTI !");
int i;
int nblettre;
String tabLettres [] = new String [26];
nblettre = motchoisi.length();
for (i=0;i<nblettre;i++){
tabLettres [i] = motchoisi.substring(i,i+1);
}
// for (i=0;i<nblettre;i++){
// println(tabLettres [i] );
int longueur = r ;
String tiret = " _ " ;
int compteur =0 ;
for (;compteur < longueur {
print (tiret);
compteur ++ ;
}
println(" ");
println ("Choississez une lettre : ");
String rep;
rep = readString ();
println("Vous avez tapé " + rep); // ajoute la lettre rentrée par la joueur au texte
println (rep); // affiche le texte + la lettre
if (rep.equals(motchoisi)){ // si la lettre tapée est celle choisie pour la comparaison + début de boucle2
println("oui"); // afficher win
} // fin de boucle
else{ // sinon + début boucle
println ("non"); // afficher loose
} // fin boucle
}
break;
case 2:
println ("Vous nous avez demandé les règles du jeu");
boolean Regles;
Regles=readBoolean("Voulez-vous afficher les règles?");
clear();
println ("La règle du pendu est on en peut plus simple.");
println ("L'ordinateur choisit un jeu de manière aléatoire et l'affiche mais en remplaçant les lettres qui le composent");
println ("par des underscore '_'. Le mot est donc gardé secret! Le participant essaye de son mieux de trouver le mot");
println ("secret en proposant des lettres qui pourraient y figurer. Vous avez 6 chances avant d’être pendu…");
println ("Une et une seule lettre est autorisée par post ! Bonne chance ;)");
break;
case 3:
println ("Vous avez choisi de quitter le jeu");
break;
}
}
}
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.