Programme java pendu

Fermé
thegravkiff Messages postés 12 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 22 mai 2013 - 21 mai 2013 à 19:57
jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 - 23 mai 2013 à 10:12
Bonjour, voici un code java permettant de jouer au pendu. Pouvez vous le tester, me dire se qui ne va pas et me proposer/faire une correction sil vous plait.
merci.

cordialement, thegravkiff

import java.util.Scanner;
// Ici j'import les classes que je doit utiliser.

public class Pendu {

public static void main(String[] args) {

// J'initialisation des variables.
Scanner scan = new Scanner(System.in);
String motATrouver = new String();
int y = 0;
int nb_erreurs = 0;
boolean mot_fini = false;
boolean lettre_saisie = false;
int i;
// création d'une boucle qui verifie si la condition est remplie.
while (y == 0) {

System.out.println("Bienvenue dans le jeu du pendu!");
System.out.println("*Entrez 1 pour jouer à un joueur.");
System.out.println("*Entrez 2 pour jouer à deux joueurs.");
System.out.println("*Entrez 3 pour acceder aux crédits.");
System.out.println("*Entrez 4 pour accedez aux instructions de jeu.");
int x = scan.nextInt();
if (x == 1) { // Partie a 1 Joueur.
System.out.println("Partie 1 Joueur");
String[] tabMots = {"feuille","printemps","enfant","chat","impliquer","blond","pedant","trivial","nuer","montagne","eaux","summum"}; // on établit les mots à deviner
int rand = (int)(Math.random() * tabMots.length-1);//Cette variable contient un nombre compris entre 0 et la valeur de la taille du tableau des mots a chercher.
motATrouver = tabMots[rand];//On insère dans la variable motAdeviner le mots qui a été tiré au hasard
y = 1; } // Ici je modifie la variable y pour ne pas repeter la boucle vue que j'ai choisis mon mode de jeu.

else if (x == 2) { // Partie a 2 Joueurs.
System.out.println("Joueur 2, tapez un mot.");
motATrouver = scan.nextLine();
y = 1; } // Ici aussi je modifie la variable y pour ne pas repeter la boucle vue que j'ai choisis mon mode de jeu.

else if (x == 3) {
System.out.println("Jeu du pendu. Dévellopé par Maffre Aloïs.2012-2013"); }

else if (x == 4) {
System.out.println("Ce jeu se joue a l'aide du clavier. Le but etant de trouver le mot cacher, en proposant des lettres. Mais attention, au bout de la 10eme erreur, vous perdez."); }

else {
System.out.println("Touche incorrecte."); } }

System.out.println("Joueur 1, entrez une lettre."); //Partie Joueur 1

if(y == 1) {

char mot_cache[]; //On créer un tableau de caractère de même taille que la longueur du mot a chercher
mot_cache = new char [motATrouver.length()];
for (i = 0; i < mot_cache.length; i++) {
System.out.print(mot_cache[i]); } //Affichage des caractère

while (mot_fini == false) {
System.out.println();
char lettre = scan.nextLine().charAt(); // on lit une lettre entrée par le joueur

for (i=0; i< motATrouver.length();i++) {

if (lettre == motATrouver.charAt(i)); {

lettre_saisie = true;
mot_cache[i] = (char) lettre; } // on remplace le tiret correspondant par la lettre trouvée
}
if ( lettre_saisie == false ) {
nb_erreurs = nb_erreurs + 1;
System.out.println("Vous avez fait"+ nb_erreurs +"erreurs");
System.out.println(mot_cache[i]);
if (nb_erreurs >= 10) {
System.out.println( "Vous avez perdu! Le mot à trouver était:" + motATrouver); // Le joueur a perdu, on lui donne le mot qu'il devait deviner
break;
}
}
lettre_saisie=false;

//On vérifie si le mot est entièrement trouvé

mot_fini=true;
for( int i1 = 0; i1< motATrouver.length() ; i1++) {
if (mot_cache[i1] == '-') {
mot_fini = false; } }

if (mot_fini == true) {
System.out.println("Vous avez gagné"); }
System.out.print(mot_cache); } }


}
}
A voir également:

4 réponses

jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 4
22 mai 2013 à 09:32
Bonjour,

balise code ?
Déjà je vois une erreur: char lettre = scan.nextLine().charAt(); // on lit une lettre entrée par le joueur

il faut que tu précise un paramètre à charAt(...) met la balise code stp et j'essaierai de t'aider :).
0
thegravkiff Messages postés 12 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 22 mai 2013
22 mai 2013 à 15:00
je débute je sais pas se qu'est une balise code =S
je peux pas mieux faire que des commentaires. Le programme doit etre présenté demain a 8H45 et je galere.
je peux t'expliquer a quoi servent, selon moi, les boucles etc. je serais connecté ce soir entre 20H50 et 22h30 a peu pres si tu peux répondre a mes questions.
si tu ne peux pas, essaie,si tu en as la possiblité, de trouver et/ou corriger les erreurs. merci

cordialement
0
thegravkiff Messages postés 12 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 22 mai 2013
22 mai 2013 à 20:56
personne ?
0
jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 4
23 mai 2013 à 10:12
Bonjour,

désolé j'espère que ça s'est bien passé...De toutes façons je n'aurais pas pu hier soir. Essaie de t'y prendre un peu plus à l'avance.

Bonne journée.
0