Annonces


#1 14/04/07 19:40:34

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 849
Envoyer un MP

  Email

[Javascript] Un problème mystérieux à me yeux

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 :

Code:

<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 :

Code:

<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é :

Code:

// 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 ?  ouch


Je vous remercie d'avance  wink


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#2 14/04/07 19:47:33

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 849
Envoyer un MP

  Email

Re: [Javascript] Un problème mystérieux à me yeux

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


Désolé du post inutile  blush


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#3 14/04/07 19:53:38

Ju
ju@jabber.sk
Equipe Admin
Lieu: Boston, Texas
OS: Linux Debian
Date d'inscription: 26/01/04
Messages: 5878
Envoyer un MP

  Email  Site web

Re: [Javascript] Un problème mystérieux à me yeux

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 smile.
Rajoute-le au début de ton code JS du head.

Au passage, je te conseille d'ajouter aussi ceci dans ton head :

Code:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#4 14/04/07 20:05:35

overseer
pplgf
Lieu: Moselle/Vosges
OS: Mac OS X
Date d'inscription: 18/06/05
Messages: 849
Envoyer un MP

  Email

Re: [Javascript] Un problème mystérieux à me yeux

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


http://img360.imageshack.us/img360/3237/againstskybloggreen7ku.png

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation
Actuellement aucun autre membre et 1 invité sur ce topic
Membres : [S'enregistrer]

Pied de page du Forum

Pub hébergeur :


CtrlAltSuppr.com, forums officiels de JSAND partagés avec Geek&Hype

Powered by PunCAS (JSAND) based on PunBB
© Copyright 2002–2005 Rickard Andersson