Conseils

Signaler
Messages postés
3
Date d'inscription
samedi 24 janvier 2015
Statut
Membre
Dernière intervention
30 janvier 2015
-
Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
-
Bonjour à tous,

j'apprends le javascript, pour cela j'ai décidée de créer un petit jeu d'anagramme.
voici donc mon premier code ( jeu en mode console).
J'aimerai avoir des avis, sur mes fautes, sur l'optimisation du code etc pour progresser. merci de passer quelque instant pour m'aider.
bisous à tous.

        function anagramme() {

            var tabMot, motChoisi, tabAleatoire, tabChoixUtilsateur;

            tabMot = [
                ["champignon", "cham", "pi", "gnon"],
                ["parapluie", "pa", "ra", "pluie"],
                ["telephone", "te", "le", "pho", "ne"]
            ];

            motChoisi = Math.floor((Math.random() * tabMot.length));
            tabAleatoire = new Array();
            tabChoixUtilsateur = new Array();


            //creation et melange du tableau avec le mot choisi
            function melangeMot (){

                console.log("mot choisi : " + tabMot[motChoisi][0]);

                for (i = 1; i < tabMot[motChoisi].length; i++){
 
                    tabAleatoire.push(tabMot[motChoisi][i]);

                }   
                console.log(tabAleatoire);

                // Creation de l'anagramme, mélange du tableau

                for(var position=tabAleatoire.length-1; position>=1; position--){
    
                //hasard reçoit un nombre entier aléatoire entre 0 et position
                var hasard=Math.floor(Math.random()*(position+1));
                
                //Echange
                var sauve=tabAleatoire[position];
                tabAleatoire[position]=tabAleatoire[hasard];
                tabAleatoire[hasard]=sauve;
                } 
                for(var i = 0; i < tabAleatoire.length; i++){
                                console.log(tabAleatoire[i] + " " + (i + 1) );
                            } 
            };


            melangeMot();

         	//Input de l'utilisateur 
            function utilisateur(){

         		for(var i = 0, length1 = tabAleatoire.length; i < length1; i++){
         			var reponse = prompt("syllabe " + (i + 1) + " : ");
                    console.log(reponse);
                    var tmp = tabAleatoire[reponse - 1];
         			tabChoixUtilsateur.push(tmp);

         		}
         		console.log("choix utilisateur : " + tabChoixUtilsateur);
         	}
         	utilisateur();


            function compareTab()
                {
                    if (tabChoixUtilsateur.length != tabMot[motChoisi].length - 1) {
                        console.log('longueur différente');
                    } else {
                        for (var i = 0; i < tabChoixUtilsateur.length; ++i) {
                            if (tabChoixUtilsateur[i] != tabMot[motChoisi][i + 1]) {
                                // Affichage des erreurs ...
                                console.log("bonne syllabe : " + tabMot[motChoisi][i + 1]);
                                console.log("syllabe choisi : " + tabChoixUtilsateur[i]);
                                console.log('Attention !!!');
                            } else {
                                console.log('C\'est parfait !!!');
                            }
                        } 
                    } 
                }
            compareTab();
        };
        anagramme();

1 réponse

Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
116
bonjour

l'ensemble est placé dans une fonction ca évite de polué l'espace globale donc le scope des variable, les variables son déclaré les, fonctions on des noms explicite, le tableau est déclaré de facon literal, il y a des commentaires et chaques fonctions a sa propre utilité

je dirait que si tous les débutant étaient comme toi on serait dans le plus beau des mondes. mais mais mais je note quand même deux erreur, dans la première boucle ou tu a oublier le mot var tu créé donc une variable globale par contre pour les autre boucles c'est bon surement un oublie et les deux autres tableaux sont déclaré avec new array mais ce n'ai pas vraiment une erreur.

tabAleatoire = [];
tabChoixUtilsateur = [];


en gros continu la programmation et qui sais peut être que tu deviendra un guru du javascript.

rien ne sert de courir il faut partir a point.
cours Forest cours !