nina29000
Messages postés3Date d'inscriptionsamedi 24 janvier 2015StatutMembreDernière intervention30 janvier 2015
-
30 janv. 2015 à 14:53
@karamel
Messages postés1850Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention 4 mars 2024
-
30 janv. 2015 à 16:30
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();
@karamel
Messages postés1850Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention 4 mars 2024152 Modifié par kazma le 30/01/2015 à 22:58
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 !