begin process at 2010 02 10 02:27:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

PRoblème en javascript, jeu de pendu


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PRoblème en javascript, jeu de pendu

mardi 3 juin 2003 à 15:23:12 | PRoblème en javascript, jeu de pendu

Chihiro

Voilà, j'ai un gros problème dans mon script qui ne marche pas, parce que je suis vraiment nulle en programmation... Est ce que quelqu'un pourrait y jeter un petit coup d'oeil et éventuellement le corriger... Merci d'avance aux webmasters qui se pencheront sur mon problème...

Voici mon programme, c'est sensé être un Jeu de Pendu:
Le début marche, mais la vérification des lettres c'est pas trop ça...

<html> <!-- Projet de programmation année 2003 -->
<head> <!-- Le Jeu Du Pendu -->
<script language="JavaScript">

var selection;
sports = new Array('cyclisme', 'athletisme', 'rugby', 'escalade');
prenoms = new Array('juliette', 'david', 'stephanie', 'laurent');
metiers = new Array('jardinier', 'ingenieur', 'acteur', 'professeur');

function fctDebut(){
alert("Pour commencer à jouer, choisis une rubrique et clique sur OK.");
}

function fctRegle(){
alert("Règle du jeu: Il te faut trouver le mot caché en proposant différentes lettres. Attention, tu n'as droit qu'à 6 propositions fausses avant d'être pendu... Bon jeu !");
}

function fctSelectRubrik(){
for(i = 1 ; i <= 3; i++){
if(document.jeupendu.rubrique.options[i].selected == true)
{selection = i}
}
}

function fctSelectMot(){
j = Math.round((3-0)*Math.random() +0);
switch(selection){
case 1 : mothaz = sports[j]; break;
case 2 : mothaz = prenoms[j]; break;
case 3 : mothaz = metiers[j]; break;
};


nblettre = mothaz.length; //nblettre est le nombre de lettre du mot à trouver
underscore = new Array();
l = mothaz.length;
for(i = 0; i < l ; i++){
underscore[i]="_ ";}
cpteur = 0;

window.alert("Le mot à trouver contient "+ mothaz.length +" lettres.");
document.jeupendu.motdev.value = underscore //underscore est la variable contenant les caractères de soulignement
}

function seek(lettre){
l= mothaz.length;
lettreprop= 0; // marque si la lettre proposée est bonne
trouve= 0; // trouve est le nombre de lettres trouvées
erreurs= 0; // erreurs est le nombre de proposotions fausses
for(i=0; i<l; i++){
if(lettre== mothaz.substring(i, i+1));
lettreprop =1;
underscore= mothaz.replace(i, "_ ");
trouve++;
}

// Si toutes les lettres ont été trouvées:
if(trouve== l){
alert("Bravo, tu as gagné");}

//Si la lettre proposée ne se trouve pas dans le mot
if(lettre!= mothaz.substring(i, i+1)){
erreurs++;}
document.jeupendu.erreurs.value = erreurs;


//Si le pendu est complet:
if(erreurs == 6)
{alert("Désolée tu as perdu ! Le mot à trouver était "+ mothaz);
}
}





</script>
</head>
<body>
<form name="jeupendu">
<font face="Comic Sans MS">
               
<input type="button" name="btn1" value="Début" onClick="fctDebut()">     
<input type="button" name="btn2" value="Règle du jeu" onClick="fctRegle()"><br><br><br>
<p> Rubriques:  
<select name="rubrique" onChange="fctSelectRubrik()">
<option > ... Choisis une rubrique ...
<option value="sports"> Sports
<option value="prenoms"> Prénoms
<option value="metiers"> Métiers
</select>  
<input type="button" name="btn3" value="OK" onClick="fctSelectMot()">
<br>
<p>Mot à deviner:   <input type="text" name="motdev" value=""><br><br>
Erreurs (6):      <input type="text" name="erreurs" size="2" value="0"><br><br><br>

<table bgcolor="#c0c0c0" border="1">
<tbody>
<tr>
<td><input type="button" value=" A " onClick="fctA()"></td>
<td><input type="button" value=" B " onClick="seek('b');"></td>
<td><input type="button" value=" C " onClick="seek('c');"></td>
<td><input type="button" value=" D " onClick="seek('d');"></td>
<td><input type="button" value=" E " onClick="seek('e');"></td>
<td><input type="button" value=" F " onClick="seek('f');"></td>
<td><input type="button" value=" G " onClick="seek('g');"></td>
<td><input type="button" value=" H " onClick="seek('h');"></td>
<td><input type="button" value=" I " onClick="seek('i');"></td>
<td><input type="button" value=" J " onClick="seek('j');"></td>
<td><input type="button" value=" K " onClick="seek('k');"></td>
<td><input type="button" value=" L " onClick="seek('l');"></td>
<td><input type="button" value=" M " onClick="seek('m');"></td>
</tr>
<tr>
<td><input type="button" value=" N " onClick="seek('n');"></td>
<td><input type="button" value=" O " onClick="seek('o');"></td>
<td><input type="button" value=" P " onClick="seek('p');"></td>
<td><input type="button" value=" Q " onClick="seek('q');"></td>
<td><input type="button" value=" R " onClick="seek('r');"></td>
<td><input type="button" value=" S " onClick="seek('s');"></td>
<td><input type="button" value=" T " onClick="seek('t');"></td>
<td><input type="button" value=" U " onClick="seek('u');"></td>
<td><input type="button" value=" V " onClick="seek('v');"></td>
<td><input type="button" value=" W " onClick="seek('w');"></td>
<td><input type="button" value=" X " onClick="seek('x');"></td>
<td><input type="button" value=" Y " onClick="seek('y');"></td>
<td><input type="button" value=" Z " onClick="seek('z');"></td>


</tbody>
</table><br><br><br>
<input type="reset" value="Rejouer">  
</font>
</form>
</body>
</html>
mardi 3 juin 2003 à 16:14:31 | Re : PRoblème en javascript, jeu de pendu

Duss

salut,
deja ici ,
function fctSelectMot(){
j = Math.round((3-0)*Math.random() +0);
switch(selection){
case 1 : mothaz = sports[j]; break;
case 2 : mothaz = prenoms[j]; break;
case 3 : mothaz = metiers[j]; break;
};

enleve le dernier ;

ensuite :

function seek(lettre){
l= mothaz.length;
lettreprop= 0; // marque si la lettre proposée est bonne
trouve= 0; // trouve est le nombre de lettres trouvées
erreurs= 0; // erreurs est le nombre de proposotions fausses
for(i=0; i<l; i++){
if(lettre== mothaz.charAt(i)){ // pas de ; mais {
lettreprop =1;
underscore= mothaz.replace(i, "_ ");
// Si toutes les lettres ont été trouvées:
if(++trouve== l){
alert("Bravo, tu as gagné");}
}
else
{

//Si la lettre proposée ne se trouve pas dans le mot
//Si le pendu est complet:
if(++erreurs == 6)
alert("Désolée tu as perdu ! Le mot à trouver était "+ mothaz);

document.jeupendu.erreurs.value = erreurs;


}

Voila
Duss
mardi 3 juin 2003 à 16:19:30 | Re : PRoblème en javascript, jeu de pendu

mrshardax

Bon, j ai juste regarder la fonction de verif des lettres ke j ai retouché un peu ..... le reste m avait l air correct (ce ki ne signifie pas ke ca l etais)


--------------------------------------------------------------------

function seek(lettre){

l= mothaz.length;
lettreprop= 0; // marque si la lettre proposée est bonne
trouve= 0; // trouve est le nombre de lettres trouvées
erreurs= 0; // erreurs est le nombre de proposotions fausses


for(i=0; i<l; i++){
if(lettre == mothaz.charAt(i)) {
lettreprop = 1;
underscore[i] = lettre ;
trouve++;
}
}

// Si toutes les lettres ont été trouvées:
if(trouve== l){
alert("Bravo, tu as gagné");
}

//Si la lettre proposée ne se trouve pas dans le mot
if(lettreprop == 0 ){
erreurs++;
}
document.jeupendu.erreurs.value = erreurs;


//Si le pendu est complet:
if(erreurs == 6) {
alert("Désolée tu as perdu ! Le mot à trouver était "+ mothaz);
}
}

---------------------------------------------------------------------

Un petit conseil, n oublie pas de mettre en page ton code, c est beaucoup plus lisibles et on peut reperer pas mal d erreurs .....

Si tu as encore des problemes, reply
mardi 3 juin 2003 à 18:18:06 | Re : PRoblème en javascript, jeu de pendu

Chihiro


Tout d'abord je tenais à te dire un grand merci pour ton aide. J'ai opéré les modifications que tu m'as conseillées et il demeure encore quelques petits problèmes... En effet, les lettres une fois proposées ne s'affichent pas à la place des tirets et le comtpeur d'erreurs ne fonctionne pas lui non plus... N'aurais-tu pas une petite idée?
D'avance merci !

PS: qu'est ce que tu appelles "mettre en page le code"? Je suis une néophyte dans la programmation (ça fait un mois que j'ai commencé) et en plus je ne sais pas trop comment fonctionne ce site...



<html> <!-- Del-Grande Marjorie ; Projet de programmation année 2003 -->
<head> <!-- Le Jeu Du Pendu -->
<script language="JavaScript">

var selection;
sports = new Array('cyclisme', 'athletisme', 'rugby', 'escalade');
prenoms = new Array('juliette', 'david', 'stephanie', 'laurent');
metiers = new Array('jardinier', 'ingenieur', 'acteur', 'professeur');

function fctDebut(){
alert("Pour commencer à jouer, choisis une rubrique et clique sur OK.");
}

function fctRegle(){
alert("Règle du jeu: Il te faut trouver le mot caché en proposant différentes lettres. Attention, tu n'as droit qu'à 6 propositions fausses avant d'être pendu... Bon jeu !");
}

function fctSelectRubrik(){
for(i = 1 ; i <= 3; i++){
if(document.jeupendu.rubrique.options[i].selected == true)
{selection = i}
}
}

function fctSelectMot(){
j = Math.round((3-0)*Math.random() +0);
switch(selection){
case 1 : mothaz = sports[j]; break;
case 2 : mothaz = prenoms[j]; break;
case 3 : mothaz = metiers[j]; break;
}


nblettre = mothaz.length; //nblettre est le nombre de lettre du mot à trouver
underscore = new Array();
l = mothaz.length;
for(i = 0; i < l ; i++){
underscore[i]="_ ";}
cpteur = 0;

window.alert("Le mot à trouver contient "+ mothaz.length +" lettres.");
document.jeupendu.motdev.value = underscore //underscore est la variable contenant les caractères de soulignement
}

function seek(lettre){
l= mothaz.length;
lettreprop= 0; // marque si la lettre proposée est bonne
trouve= 0; // trouve est le nombre de lettres trouvées
erreurs= 0; // erreurs est le nombre de proposotions fausses
for(i=0; i<l; i++){
if(lettre== mothaz.charAt(i)){
lettreprop=1;
underscore[i]=lettre;
trouve++;
}
}

// Si toutes les lettres ont été trouvées:
if(trouve== l){
alert("Bravo, tu as gagné");}

//Si la lettre proposée ne se trouve pas dans le mot
if(lettreprop== 0){
erreurs++;}
document.jeupendu.erreurs.value = erreurs;


//Si le pendu est complet:
if(erreurs == 6){
alert("Désolée tu as perdu ! Le mot à trouver était "+ mothaz);
}
}

</script>
</head>
<body>
<form name="jeupendu">
<font face="Comic Sans MS">
               
<input type="button" name="btn1" value="Début" onClick="fctDebut()">     
<input type="button" name="btn2" value="Règle du jeu" onClick="fctRegle()"><br><br><br>
<p> Rubriques:  
<select name="rubrique" onChange="fctSelectRubrik()">
<option > ... Choisis une rubrique ...
<option value="sports"> Sports
<option value="prenoms"> Prénoms
<option value="metiers"> Métiers
</select>  
<input type="button" name="btn3" value="OK" onClick="fctSelectMot()">
<br>
<p>Mot à deviner:   <input type="text" name="motdev" value=""><br><br>
Erreurs (6):      <input type="text" name="erreurs" size="2" value="0"><br><br><br>

<table bgcolor="#c0c0c0" border="1">
<tbody>
<tr>
<td><input type="button" value=" A " onClick="seek('a')"></td>
<td><input type="button" value=" B " onClick="seek('b');"></td>
<td><input type="button" value=" C " onClick="seek('c');"></td>
<td><input type="button" value=" D " onClick="seek('d');"></td>
<td><input type="button" value=" E " onClick="seek('e');"></td>
<td><input type="button" value=" F " onClick="seek('f');"></td>
<td><input type="button" value=" G " onClick="seek('g');"></td>
<td><input type="button" value=" H " onClick="seek('h');"></td>
<td><input type="button" value=" I " onClick="seek('i');"></td>
<td><input type="button" value=" J " onClick="seek('j');"></td>
<td><input type="button" value=" K " onClick="seek('k');"></td>
<td><input type="button" value=" L " onClick="seek('l');"></td>
<td><input type="button" value=" M " onClick="seek('m');"></td>
</tr>
<tr>
<td><input type="button" value=" N " onClick="seek('n');"></td>
<td><input type="button" value=" O " onClick="seek('o');"></td>
<td><input type="button" value=" P " onClick="seek('p');"></td>
<td><input type="button" value=" Q " onClick="seek('q');"></td>
<td><input type="button" value=" R " onClick="seek('r');"></td>
<td><input type="button" value=" S " onClick="seek('s');"></td>
<td><input type="button" value=" T " onClick="seek('t');"></td>
<td><input type="button" value=" U " onClick="seek('u');"></td>
<td><input type="button" value=" V " onClick="seek('v');"></td>
<td><input type="button" value=" W " onClick="seek('w');"></td>
<td><input type="button" value=" X " onClick="seek('x');"></td>
<td><input type="button" value=" Y " onClick="seek('y');"></td>
<td><input type="button" value=" Z " onClick="seek('z');"></td>


</tbody>
</table><br><br><br>
<input type="reset" value="Rejouer">  
</font>
</form>
</body>
</html>



mardi 3 juin 2003 à 23:40:01 | Re : PRoblème en javascript, jeu de pendu

mrshardax

Ok, je me suis pencher un peu plus longtemps sur ton probleme, et j ai trouver deux erreurs :

Premiere : les variables trouve et erreur doivent etre en portee globale, cad au debut, pres de ta variable selection je crois, car, dans l etat actuel, ces variables sont remises a zero a cahque fois ke tu seek une lettre, donc, tu ne trouve jamais et tu n as jamais d erreur.

La contrepartie et ke tu dois faire une fonction ki remet a zero ses deux variables et ke tu dois appeler a chaque nouveau jeu.

Deuxieme point, tu met bien a jour ta variable underscore, mais tu dois aussi la mettre a jour a l interieur de ton formulaire HTML grace a cette ligne

(si je me souviens bien des variables, j ai plus le code en tete, mais tu vas retrouver)

-------------------------------------------------------------------

document.jeupendu.motdev.value = underscore ;

--------------------------------------------------------------------


Et voila, chez moi, tout fonctionnais bien.

Si il y a encore des problemes ....
mercredi 4 juin 2003 à 11:49:05 | Re : PRoblème en javascript, jeu de pendu

Chihiro


Excuse moi, de t'embêter encore un peu... mais je ne comprends pas très bien comment mettre a jour underscore dans la partie html du formulaire...
En ce qui concerne la fonction qui remettrait à zéro les variables erreurs et trouve, est ce qu'un bouton reset ne suffit pas?
Et puis encore un énorme merci !


mercredi 4 juin 2003 à 11:50:59 | Re : PRoblème en javascript, jeu de pendu

Chihiro

Je tenais à vous remercier pour vos lumières et l'aide précieuse que vous m'avez apportée !!!
Merci beaucoup !
Cordialement, Chihiro !



-------------------------------
Réponse au message :
-------------------------------

> salut,
> deja ici ,
> function fctSelectMot(){
> j = Math.round((3-0)*Math.random() +0);
> switch(selection){
> case 1 : mothaz = sports[j]; break;
> case 2 : mothaz = prenoms[j]; break;
> case 3 : mothaz = metiers[j]; break;
> };
>
> enleve le dernier ;
>
> ensuite :
>
> function seek(lettre){
> l= mothaz.length;
> lettreprop= 0; // marque si la lettre proposée est bonne
> trouve= 0; // trouve est le nombre de lettres trouvées
> erreurs= 0; // erreurs est le nombre de proposotions fausses
> for(i=0; i<l; i++){
> if(lettre== mothaz.charAt(i)){ // pas de ; mais {
> lettreprop =1;
> underscore= mothaz.replace(i, "_ ");
> // Si toutes les lettres ont été trouvées:
> if(++trouve== l){
> alert("Bravo, tu as gagné");}
> }
> else
> {
>
> //Si la lettre proposée ne se trouve pas dans le mot
> //Si le pendu est complet:
> if(++erreurs == 6)
> alert("Désolée tu as perdu ! Le mot à trouver était "+ mothaz);
>
> document.jeupendu.erreurs.value = erreurs;
>
>
> }
>
> Voila
> Duss
>
mercredi 4 juin 2003 à 12:08:23 | Re : PRoblème en javascript, jeu de pendu

mrshardax

Pour mettre a jour l underscore

-------------------------------------------------------------------

for(i=0; i<l; i++){
if(lettre== mothaz.charAt(i)){
lettreprop=1 ;

// met a jour la variable javascript
underscore[i]=lettre ;
// met a jour la valeur du formulaire HTML
document.jeupendu.motdev.value = underscore ;
trouve++ ;
}
}

-------------------------------------------------------------------

En effet ta variable javascripte n est pas liee a ton champs HTML et inversement : mettre a jour l un ne signifie pas mettre a jour l autre.

C est exactement le meme probleme pour tes variables trouve et erreur. Un bouton reset met a blanc tout les champs de saisie HTML et n intervient en rien dans ton javascript. Tu dois faire une fonction :

------------------------------------------------------------------

function Reset() {
trouve = 0 ;
erreurs = 0 ;
}

-------------------------------------------------------------------

et inclure un :
-------------------------------------------------------------------

<input type=reset onClick="Javascript: Reset()">

-------------------------------------------------------------------

dans ton formulaire pour mettre a jour ET le HTML ET le JAVASCRIPT.

Voila, j espere avoir ete suffisamment claire.

Bonne continuation.
mercredi 4 juin 2003 à 20:50:52 | Re : PRoblème en javascript, jeu de pendu

Chihiro

Bonsoir,

Ceci sera le dernier message, avec pour but de te remercier pour tes explications (très très claires) et tes conseils avisés !
Merci vraiment beaucoup, sans toi je ramerai encore...

Chihiro !



-------------------------------
Réponse au message :
-------------------------------

> Pour mettre a jour l underscore
>
> -------------------------------------------------------------------
>
> for(i=0; i<l; i++){
> if(lettre== mothaz.charAt(i)){
> lettreprop=1 ;
>
> // met a jour la variable javascript
> underscore[i]=lettre ;
> // met a jour la valeur du formulaire HTML
> document.jeupendu.motdev.value = underscore ;
> trouve++ ;
> }
> }
>
> -------------------------------------------------------------------
>
> En effet ta variable javascripte n est pas liee a ton champs HTML et inversement : mettre a jour l un ne signifie pas mettre a jour l autre.
>
> C est exactement le meme probleme pour tes variables trouve et erreur. Un bouton reset met a blanc tout les champs de saisie HTML et n intervient en rien dans ton javascript. Tu dois faire une fonction :
>
> ------------------------------------------------------------------
>
> function Reset() {
> trouve = 0 ;
> erreurs = 0 ;
> }
>
> -------------------------------------------------------------------
>
> et inclure un :
> -------------------------------------------------------------------
>
> <input type=reset onClick="Javascript: Reset()">
>
> -------------------------------------------------------------------
>
> dans ton formulaire pour mettre a jour ET le HTML ET le JAVASCRIPT.
>
> Voila, j espere avoir ete suffisamment claire.
>
> Bonne continuation.
dimanche 9 mars 2008 à 17:53:12 | Re : PRoblème en javascript, jeu de pendu

Mal_au_DOS

Sinon tu peux aller voir ma source qui est justement un jeu de pendu à http://www.javascriptfr.com/infomsg_PROBLEME-JAVASCRIPT-JEU-PENDU_143811.aspx

A+


Cette discussion est classée dans : problème, function, jeu, array, pendu


Répondre à ce message

Sujets en rapport avec ce message

Problème avec la Function Math [ par macromed ] Je cherche un moyen de faire "si le numéro est entre x et xx"if (num > 20)  égal   Si le numéro est plus au que 20...Merci de votre aide ;) Qui veut gagner des millions ?! [ par Stark ] GeneralStarkHello,Voilà la question à 1'000'000.... Est-il possible de réactiver un composant après qu'on l'ai désactivé avec javascript problème pour resté sur un formulaire URGENT!!! [ par romiain ] function verifnom(){if (document.formu.nom.value.length == 0){alert("Entrez votre nom!");return false;}return true;}Bonjour à tous,Ma question est la Besoin d'aide pour jeu de cartes [ par earth4x ] J'ai un problème avec mon petit projet de jeu de cartesfunction pigerCartes(){     var zone = document.getElementById("divCartes");     var nbCartes = Préchargement images [ par jmtoulon ] Bonjour,je suis en train de créer un site de jeu de carte.Je fais une function qui pré charges les images de toutes les cartes de jeu (52)je voudrais Questions Javascript [ par luigi501 ] Bonjour, je suis en train de programmer un petit jeu. Le jeu ce compose de 20 cases sur une page html avec la possibilité de cliqué sur chacune des ca Problème fonction image [ par gregorybts ] merci beaucoup pour ces explications, j'ai donc fait les corrections mais il semblerai qu'il y ait un problème puisque le alert (i) que j'ai mis dans Problème avec Array.prototype [ par Evangun ] Bonjour à tous,La syntaxe Array.prototype me pose un problème !En l'occurence c'est avec le JSONstringifier (http://json.org/js.html) qui comporte cet Prblème de function [ par tepe ] BonjourJ'ai un problème avec une fonction externe.Dans mon ReFrame();popup(); Le problème, la fonction ReFrame f Comment faire des classes imbriquées [ par diaod8 ] Voila, j'ai un bout de code en javascript, je ne comprend pas pourquoi mes classes imbriqué ne fonctionnent pas, j'aimerais que quelqu'un m'explique. 


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales