begin process at 2010 02 10 03:40:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Aide débutant jeu du pendu


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aide débutant jeu du pendu

samedi 1 avril 2006 à 23:21:42 | Aide débutant jeu du pendu

juancho2786

Bonsoir a tous. Je suis débutant en Java et j'ai essayé de créer le jeu du pendu ( de la façon la plus simple ). Seulement j'ai un petit problème en ce qui concerne le compteur des erreurs. Je veux qu'à la quatrième erreur (mauvaise lettre), le jeu s'arrête. Voici mon code source. Pouvez-vous me dire pourquoi ça ne marche pas comme je veux?
Merci d'avance...


public class THE_PENDU {

 public static void main(String[] args) {
  
  String Tab_Mots[] ={"maison","voiture","paysage"};
  String Mot_A_Deviner;
  char Tab_Mot_A_Deviner[];
  char lettre_saisie;
  int Nb_Aleatoire ;
  int Nb_Mots;
  int longueur_Mot_A_Deviner;
  int cpt=0,cpt2=0;
  boolean lettre_correcte= false;
  int erreur=4;
  
  Nb_Mots=Tab_Mots.length;  // La longueur du tableau Tab_Mots et donc le nbr de mot
  Nb_Aleatoire=(int)(Math.random()*Nb_Mots);  // cherche un nbr aleatoire compris entre 0 et le nbr de mots
  Mot_A_Deviner=Tab_Mots[Nb_Aleatoire]; // on met dans Mot_A_Deviner le mot a deviner
  longueur_Mot_A_Deviner=Mot_A_Deviner.length(); // On prend la longueur du mot a deviner
  Tab_Mot_A_Deviner= new char[longueur_Mot_A_Deviner];  //On crée un tableau de caractère de même taille que la longueur du mot a chercher
    
   //ENTETE
       
        System.out.println("*********************************");
        System.out.println("*Bienvenue dans le jeu du pendu!*");
        System.out.println("*********************************");
        System.out.println("");
       
        //FIN ENTETE
  
  for(int i=0;i<longueur_Mot_A_Deviner;i++){
   
   Tab_Mot_A_Deviner[i]='-';
  }
       
       
  System.out.println(Mot_A_Deviner+" "+longueur_Mot_A_Deviner);
  System.out.println(Tab_Mot_A_Deviner);  
  
  while((cpt<longueur_Mot_A_Deviner)||(erreur<5)){
  System.out.println("\nQuel lettre voulez-vous entrer? ");
  lettre_saisie=Lire.c();
  
  for(int i=0;i<longueur_Mot_A_Deviner;i++){
   cpt2=cpt;
   if(lettre_saisie==Mot_A_Deviner.charAt(i)){
    Tab_Mot_A_Deviner[i]=lettre_saisie;
    cpt++;
     } 
   if(cpt2==cpt){
    erreur++;
     }
  } 
  
  System.out.print(Tab_Mot_A_Deviner);
  } 
 }
}

dimanche 2 avril 2006 à 03:20:14 | Re : Aide débutant jeu du pendu

nomad56

ben , comme on a pas Lire.c() et que j'avais pas envie de me casser la tête sur ton code, et que j'avais rien de mieu à faire :o) ,
je l'ai entièrement refait le pendu .... et si tu es débutant je te conseille de prendre exemple sur mon code ... (que je met dans le prochain post, à la suite)

bon je dis pas que je suis un pro non plus mais bon ... et je te conseil aussi de respecter la nomenclature java
cad:
variables en minuscules mais majuscule pour préciser le début d'un nouveau mot ex: "maPremiereVariable"  ou "ma"
une class commence par une majuscule mais le reste est en min ex : "Client" ou "ClientPotentiel"
une constante est en majuscule et un "_" pour préciser le début d'un nouveau mot ex: "MAX" ou "ESSAIS_MAXIMUM"
etc ... c assez important de prendre l'habitude dès le début pour faciliter la compréhension des codes des autres et même du tiens .. mais ca reste un conseil ...

voila j'espère que mon code t'aidera à corriger le tient / avancer dans ton projet
bonne chance et ++

code dans le message suivant  --->>


dimanche 2 avril 2006 à 03:20:56 | Re : Aide débutant jeu du pendu

nomad56

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ThePendu {

    public static void main(String[] args) {

        String[] tab_dico = { "maison", "voiture", "paysage" };

        double limite = (100.0 / tab_dico.length) / 100.0; // = 0.33 si ya 3
                                                            // mots

        double configuredRandom = Math.random() / limite; // (0.0 -> 0.99) /
                                                            // 0.33 rend (0.0 ->
                                                            // 2.99)

        String motADeviner = tab_dico[(int) configuredRandom]; // le cast (int)
                                                                // permet de
                                                                // prendre que
                                                                // la partie
                                                                // entière soit
                                                                // (0 -> 2)
        String motEnCreation = "";
        int MAX_ERREUR = 5;
        int nbChances = MAX_ERREUR;
        boolean victoire = false;
        char lettreSaisie;

        for (int i = 0; i < motADeviner.length(); i++) {
            motEnCreation += "-";
        }

        System.out.println("*********************************");
        System.out.println("*Bienvenue dans le jeu du pendu!*");
        System.out.println("*********************************");
        System.out.println("");

        // System.err.println("mot à deviner:"+motADeviner);

        System.out.println("Vous avez " + MAX_ERREUR
                + " chances de découvrir le mot caché");

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while (nbChances > 0 && !victoire) {
            System.out.println("     " + motEnCreation);
            System.out.println("tapez une lettre puis validez ( " + nbChances
                    + " chances ):");
            try {
                lettreSaisie = br.readLine().charAt(0);
                // System.err.println("lettreSaisie:"+lettreSaisie);
                if (motADeviner.contains(new String("" + lettreSaisie))) {
                    System.out.println("Lettre trouvée !! :" + lettreSaisie);
                    String temp = motEnCreation;
                    motEnCreation = "";
                    for (int i = 0; i < motADeviner.length(); i++) {
                        if (motADeviner.charAt(i) == lettreSaisie) {
                            motEnCreation += lettreSaisie;
                        } else {
                            motEnCreation += temp.charAt(i);
                        }
                    }
                } else {
                    System.out
                            .println("Le mot caché ne contient pas la lettre :"
                                    + lettreSaisie);
                    nbChances--;
                }

                // test de victoire
                if (motEnCreation.equalsIgnoreCase(motADeviner)) {
                    System.out
                            .println("Félicitation, vous avez découvert le mot caché "
                                    + motADeviner + " !!");
                    victoire = true;
                }

            } catch (IOException e) {
                e.printStackTrace();
                System.err
                        .println("Une erreur c'est produite. l'application va se terminer");
                System.exit(-1);

            } catch (StringIndexOutOfBoundsException e) {

            }
        }

        if (!victoire && nbChances <= 0) {
            System.out.println("Désolé, vous avez perdu...");
            System.out.println("Le mot recherché était : " + motADeviner);
        }

    }// fin main

}



Cette discussion est classée dans : int, mot, mots, tab, deviner


Répondre à ce message

Sujets en rapport avec ce message

Client/serveur [ par titou445 ] titou: serait il possible que l'on me donne le code pour receptionner et pour envoyer un tableau d'entiers svp?VOICI MON CODE:import java.net.*;import client/serveur [ par titou445 ] titou:> titou: serait il possible que l'on me donne le code pour receptionner et pour envoyer un tableau d'entiers svp?> VOICI MON CODE:> import java. probleme dans programme tableau [ par Jarod1980 ] Bonjour tout le monde,J'ai un problème dans mon programme. Ca doit être certainement l'algo qui foire et je ne trouve pas. Mon problème, c'est que je FileInput Stream [ par siropipo ] SAlut a tous,jai un souci avec mon code , au niveau du fileinputstream, et je comprends pas pourquoi le compilateur me dit "unreported exception java. jeu de lettres [ par juancho2786 ] 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 q Selection dans un texte [ par solidsnake88 ] Bonjour, je voudrais realiser un petit navigateur internet texte (donc juste le texte des page web) et j'en suis au moment ou je dois effectuer u tri par permutation en java (c urgent) [ par mettaleuxademaroc ] un problem de tri svp public class Tri{      int[]tab=new int[10];      int t,j;   void saisie(){    for(int i=0;i      System.out.println("Entrez le supprimer un élément d'une collection [ par adrienr11vdv ] bonjour à tous,je développe une collection et j'aimerai y ajouter une méthode qui permet d'enlever un objet de la collection.voici ma méhode:    //sup JTextPane et actualisation [ par iutval ] Bonjour,j'utilise un JTextPane pour afficher des mots avec une couleur de fond. J'ai défini une classe qui hérite de DefaultStyledDocument (voir code Matrice probleme d'incrementation [ par juliox24 ] Bonjour,j'ai un petit problème pour définir ma matrice Voici mon code :public class test {    private int cases[][];private int posx=0;private int pos


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales