A voir également:
- Utilisation de IndexOf()
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Family link temps d'utilisation ne fonctionne pas - Forum Contrôle parental
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
3 réponses
Salut,
A la volée, je dirais qu'il faut faire une boucle du style
while indexof(...)!=-1{ $i=indexof(...); document.getelementbyid($i).value='tavaleur';}
A la volée, je dirais qu'il faut faire une boucle du style
while indexof(...)!=-1{ $i=indexof(...); document.getelementbyid($i).value='tavaleur';}
En plus d'être une débutante, je suis vraiment une bille j'avoue, je n'ai pas réussi à utiliser ton code =/
Sinon, depuis hier soir, j'ai avancé un peu sur la fonction, et je suis arrivée au stade où je parviens à afficher les lettres utilisées mais pas à les remplacer lorsqu'elles sont bien présentes :
Sachant que remplacees et essayees sont des Array définies plus hauts, achercher correspond au mot à découvrir, reussite à la découverte du mot. Value correspond toujours à la lettre sur laquelle on a cliqué.
J'ai du mal à définir la méthode pour le remplacement, je comprends comment mais je ne sais pas le transcrire en code =/
Sinon, depuis hier soir, j'ai avancé un peu sur la fonction, et je suis arrivée au stade où je parviens à afficher les lettres utilisées mais pas à les remplacer lorsqu'elles sont bien présentes :
function Recherche(value) { var presence_lettre, lettre_deja_testee, remplacees; presence_lettre= achercher.indexOf(value); lettre_deja_testee = essayees.indexOf(value); remplacees = document.getElementById('mot').innerHTML; document.getElementById('essais').innerHTML = ""; //Verification de la présence ou absence de la lettre dans le mot à trouver if(reussite == 0){ if(lettre_deja_testee != -1){ alert('Lettre déjà proposée !'); document.getElementById('essais').innerHTML =value; } //Si la lettre a déjà été proposée, affichage d'une pop-up else{ if(presence_lettre== -1){ essayees=essayees+value; document.getElementById('essais').innerHTML =essayees; } //Si la lettre n'est pas dans le mot, écriture de la lettre dans la liste de lettres essayées else{ i=presence_lettre; { achercher[i] == value;{ remplacees[i] == value; remplacees=remplacees+value; } } document.getElementById('mot').innerHTML = remplacees.join(value); }
Sachant que remplacees et essayees sont des Array définies plus hauts, achercher correspond au mot à découvrir, reussite à la découverte du mot. Value correspond toujours à la lettre sur laquelle on a cliqué.
J'ai du mal à définir la méthode pour le remplacement, je comprends comment mais je ne sais pas le transcrire en code =/
A titre d'exemple
(le code n'est pas de moi)
Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...
<head> <script type="text/javascript"> function play() { var myst_word; var prop_word; var prev_word; var c = 0; var prop_char = 0; var i, len_word; var found = 0; var nbr_tries = 10; var still_true = false; var nbr_rand = 0; //rajoutez vous mots ici : var dico = new Array ("MOT", "MOT", "TIXIS"); nbr_rand = Math.round(Math.random()*(dico.length)); myst_word = dico[nbr_rand]; len_word = myst_word.length; for(i = 0; i <= len_word; i++) prop_word += '*'; document.getElementById('sortietxt').innerHTML = ""; while(found < len_word && nbr_tries > 0) { document.getElementById('sortietxt').innerHTML = "<b>Trouvez le mot : "; for(i = 0;i <= myst_word.length; i++) { c = myst_word.charAt(i); if(prop_word.indexOf(c) > -1) document.getElementById('sortietxt').innerHTML += c; else document.getElementById('sortietxt').innerHTML += '*'; } document.getElementById('sortietxt').innerHTML += "</b><br />"; nbr_tries2 = nbr_tries; if(nbr_tries2 > 1) document.getElementById('sortietxt').innerHTML += "<br />Il vous reste "+nbr_tries2+" essais"; else if(nbr_tries2 == 1) document.getElementById('sortietxt').innerHTML += "<br />Il vous reste 1 essai"; document.getElementById('sortietxt').innerHTML += "<br /><br />Proposez une lettre : "; prop_char = prompt("Proposez une lettre :", prop_char); prop_char = prop_char.toUpperCase(); document.getElementById('sortietxt').innerHTML += prop_char; prev_word = prop_word; for(i = 0;i <= myst_word.length; i++) { c = myst_word.charAt(i); if(prop_char == c) { if(!still_true) still_true = true; if(prev_word.indexOf(c) <= -1) { prop_word += c; found++; } } } if(!still_true) nbr_tries--; else still_true = false; document.getElementById('sortietxt').innerHTML += "<br /> <br />"; }//while(found < len_word && nbr_tries > 0) if(nbr_tries > 0) document.getElementById('sortietxt').innerHTML += "Gagné !<br />"; else document.getElementById('sortietxt').innerHTML += "Pendu !<br />"; document.getElementById('sortietxt').innerHTML += "Le mot était : "+myst_word+"<br />" } </script> </head> <body> <form name="form"> <input type="button" onclick="play()" value="Commencer" /></form> <div id="sortietxt" style="border:1px black solid;padding:5px;background:#D7DDE6">Cliquez sur le bouton pour commencer</div> </body>
(le code n'est pas de moi)
Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...
J'avais déjà aperçu ce code mais je n'ai pas pu modifier le mien en regardant la méthode parce que j'ai traduit le mot à trouver en tirets par un document.write et une boucle
J'ai essayé de modifier ce morceau de code pour utiliser getElementById mais je perds dans ce cas le nombre de tirets :
Le problème de la première version est l'absence d'Id, ça bloque pour le remplacement si je comprend bien, mais je ne sais pas comment ajuster mon nombre de tirets avec la deuxième =/
taille=achercher.length for (x=0 ; x<=(taille-1); x++) { var z= document.write(" _ "); }
J'ai essayé de modifier ce morceau de code pour utiliser getElementById mais je perds dans ce cas le nombre de tirets :
taille=achercher.length for (x=0 ; x<=(taille-1); x++) { var z= document.getElementById('mot').innerHTML=" _ "; }
Le problème de la première version est l'absence d'Id, ça bloque pour le remplacement si je comprend bien, mais je ne sais pas comment ajuster mon nombre de tirets avec la deuxième =/