Vous n'êtes pas connecté.
Pages: 1







Salut à tous,
J'ai récupéré un script javascript sur Internet (sur un forum, d'un sujet datant de 2002) du célébre jeu du pendu. Cependant, même en appliquant à la lettre les instructions du créateur (qui consistaient juste à dire "ça se trouve dans le head et ça se trouve dans le body), j'ai un problème dans le script.
Je vous laisse voir le soucis en question : http://over-corp.info/web/pendu/
"undefined lettres"
Je pense que le soucis intervient au niveau du choix du mot ... mais comme je débute complet en javascript et j'ai beau regardé le code, je ne trouve pas ...
Voici le code du head :
<HEAD>
<SCRIPT language="Javascript">
var NbMots=Mottt.length; // Nb mots contenus dans la table Mottt
var Tirage=Math.floor(Math.random()*NbMots); // Tirer aléatoirement un mot
var Cherche=Mottt[Tirage].toUpperCase() ; // Stocker le mot tiré en majuscule
var Long=Cherche.length; // Calculer la longueur du mot tiré
var Chaine=Cherche.substr(0,0); // Créer la chaine à afficher
for(i=0;i<=(Long-1);i++) // en mettant des - au milieu
{
Chaine+="-";
}
Chaine+=Cherche.substr(Long,Long);
Propos=""; // Lettres proposées
NbErr=0; // Nombre d'erreurs
// Pour afficher les lettres du mot, on va aérer avec des espaces
function aff_mot()
{
Tampon="";
for(i=0;i<Long;i++)
{
Tampon=Tampon+" "+Chaine.substr(i,1);
}
document.frm.what.value=Tampon;
}
// Voir si la lettre existe dans le mot
function trouve(Lettre,obj)
{
obj.value="×"; //la lettre est remplacée par un x
obj.style.backgroundColor='red'; //la case prend la couleur rouge
obj.onclick=""; //la case ne renvoie plus de valeur
trv=0; // On considère au départ que la lettre n'est pas trouvée
for (i=0;i<Long;i++) // Boucle de recherche de la lettre
{
if(Cherche.substr(i,1)==Lettre) // Et prise en compte si trouvée
{
trv=1; // On a trouvé cette lettre
gauche=Chaine.substr(0,i); // On crée la chaine
droite=Chaine.substr(i+1,Long); // en y insérant
Chaine=gauche+Lettre+droite; // la lettre trouvée
}
}
aff_mot(); // On affiche le mot
if(trv==0) // Si la lettre n'a pas été trouvée, +1 dans Erreurs
{
NbErr+=1;
}
if(NbErr>0) // Image à afficher
{
document.pict.src="pendu"+NbErr+".gif";
}
if(NbErr>8) // A-t-il perdu ?
{
document.pict.src="perdu.gif";
alert("Perdu !\n Il fallait trouver : " +Cherche);
location.reload(true);
}
if(Chaine==Cherche) // A-t-il gagné ?
{
document.pict.src="bravo.jpg";
alert("Bravo ! Vous avez gagné, \n vous avez bien trouvé le mot :\n"+Cherche);
location.reload(true);
}
}
</SCRIPT>
<STYLE>
input {
border-color:#000000;border-width:1;
font-family:Verdana, Arial, Helvetica, Geneva, sans-serif;
font-size:14;color:#000000;
}
</STYLE>
</HEAD>Et celui du body :
<BODY onLoad=aff_mot()>
<TABLE border=0 width=75% id="tableau">
<TR>
<TD><img src="pendu0.gif" name=pict>
</TD>
</TR>
<TR>
<TD align="center" style="border-color:#0066CC;border-width:2;border-style:ridge"><BR>
<FORM name="frm">
<SCRIPT>
document.write("<INPUT type=text name=what value='' size="+(4*Long)+" style='border: none; text-align: center'><br><br> ");
document.write("Le mot est composé de : <b><FONT size='4'>" + Long + "</FONT></b> lettres ");
</SCRIPT>
</FORM>
</TD>
</TR>
<TR>
<TD align=center >
<FORM>
<SCRIPT>
//Boucle d'affichage des lettres de l'alphabet avec fonction correspondante
for (i=65;i<=90;i++) // en deux morceaux pour des raisons d'affichage ici
{
document.write("<input type=button accesskey='&#"+i+";' name='&#"+i+";'");
document.write("value='&#"+i+";' onClick=trouve('&#"+i+";',this)>");
if (i==77)
{
document.write("<BR>");
}
}
</SCRIPT>
</FORM>
</TD>
</TR>
</BODY>Voici le code du fichier contenant les mots à trouvé :
// JavaScript Document
var Mot=new Array("maison","voiture","chien","chat","camion","avion","nuage","fumee","table",
"chaise","route","ville","carte","arbre","enfant","tableau","bateau","eau","feu","terre",
"air","vie","bouteille","roue","cheval","vache","bouchon","canape","papier","gomme","feutre",
"cahier","porte","oiseau","ciseau","colle","ciel");
var Mott=new Array("oxygene","papillon","frelon","pistolet","grenade","herbe","ble","sac",
"cadran","etoile","eponge","mer","ordinateur","souris","clavier","fauteuil","cuillere",
"col�optere","insecte","dentifrice","toilette","tabouret","montre","aspirateur",
"lampadaire","calamite","cowboy","indien","radiateur","acquereur","detenu","prison",
"barreau","matraque","vestibule","chaussette","pantalon","pull","casquette",
"veste","respiration","plongeoir","piscine");
var Mottt=new Array("oxygene","papillon","frelon","pistolet","grenade","herbe","ble","sac",
"cadran","etoile","eponge","mer","ordinateur","souris","clavier","fauteuil","cuillere",
"insecte","dentifrice","toilette","tabouret","montre","aspirateur",
"lampadaire","calamite","cowboy","indien","radiateur","acquereur","detenu","prison",
"barreau","matraque","vestibule","chaussette","pantalon","pull","casquette",
"veste","respiration","plongeoir","piscine","maison","voiture","chien","chat","camion","avion","nuage","fumee","table",
"chaise","route","ville","carte","arbre","enfant","tableau","bateau","eau","feu","terre",
"air","vie","bouteille","roue","cheval","vache","bouchon","canape","papier","gomme","feutre",
"cahier","porte","oiseau","ciseau","colle","ciel");Les images de la pendaison vont de 1 à 8 et 1 image "bravo.jpg" s'affiche quand on gagne et une "perdu.gif" lorsque l'on pert.
Avez-vous une idée de la provenance du problème ?
Je vous remercie d'avance 

TOP Hors ligne







Je suis trop bête ... C'est toujours après avoir posé la question que je trouve
C'était trop évident en plus ! Il n'y a aucun appel du fichier .js contenant les mots !
Désolé du post inutile 

TOP Hors ligne


Le dernier bout de code que tu viens de nous mettre n'est justement pas présent dans ta page. Et c'est justement son absence qui fait que ça marche pas
.
Rajoute-le au début de ton code JS du head.
Au passage, je te conseille d'ajouter aussi ceci dans ton head :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
TOP Hors ligne







Merci ! J'allais mettre un "é" pour le "é" mais c'est largement plus propre comme ça.

TOP Hors ligne
Pages: 1