Partage
  • Partager sur Facebook
  • Partager sur Twitter

pendu javascript

Sujet résolu
Anonyme
    31 mars 2013 à 19:07:19

    Salut tout monde :D

    Voilà j'ai récupérer un script de pendu en javascript.

    Hors j'aurais quelques question car j'aimerais l'adapter à mon site.

    Pour le décompte des parties (5 en tout), je décompte à chaque fois qu'il recharge la page ?

    car le problème j'ai pensé mettre un bouton nouvelle partie qui recharge la page en php et qui décompte les parties mais si le joueur recharge la page avec F5 et ben il peut jouer tout le temps. C'est ça mon problème majeur.

    <script language="JavaScript">
    			
    				var motSecret;
    				
    				var nb_partie_pendu = <?php echo $donne['nb_partie_pendu'];?>;
    				
    				var now=new Date();			// Date d'aujourd'hui
    				var tableauMot=new Array();	// Le tableau qui contient les lettres du mot à trouver
    				var mots=new Array();		// Le tableau qui contient tous les mots possibles
    				
    				var tailleMot;				// Le nombre de lettres du mot à trouver
    				var coupsManques=0;			// Le nombre de lettres fausses essayées
    				var lettresTrouvees=0;		// Le nombre de lettres trouvées
    				var fini=false;				// true si le jeu est terminé
    				
    				mots[0]="TITANESQUE";
    				
    				
    				// On prend un mot au hasard en fonction de la seconde en cours
    				motSecret=mots[now.getSeconds() % mots.length];
    				tailleMot=motSecret.length;
    				
    				// Permet de changer la couleur des touches du clavier
    				function changeCouleur(element,couleur){
    					element.style.backgroundColor=couleur;
    				}
    				
    				// Gère tous les traitements à faire lorsqu'on appuie sur une touche
    				function proposer(element){
    					
    					// Si la couleur de fond est lightgreen, c'est qu'on a déjà essayé - on quitte la fonction
    					if(element.style.backgroundColor=="#a4da14" ||fini) return;
    					
    					// On récupère la lettre du clavier et on met la touche en lightgreen (pour signaler qu'elle est cliquée)
    					var lettre=element.innerHTML;
    					changeCouleur(element,"#a4da14");
    					
    					// On met la variable trouve à false;
    					var trouve=false;
    					
    					// On parcours chaque lettre du mot, on cherche si on trouve la lettre séléectionnée au clavier
    					for(var i=0; i<tailleMot; i++) {
    						
    						// Si c'est le cas :
    						if(tableauMot[i].innerHTML==lettre) {
    							tableauMot[i].style.visibility='visible';	// On affiche la lettre
    							trouve=true;
    							lettresTrouvees++;
    						}
    					}
    					// Si la lettre n'est pas présente, trouvé vaut toujours false :
    					if(!trouve){
    						coupsManques++;
    						document.images['pendu'].src="images/pendu/"+coupsManques+".png"; // On change l'image du pendu
    						
    						// Si on a raté 9 fois :
    						if(coupsManques==9){
    							alert("Vous avez perdu !");
    							for(var i=0; i<tailleMot; i++) tableauMot[i].style.visibility='visible';
    							fini=true;
    							// on affiche le mot, on fini le jeu
    						}
    					}
    					if(lettresTrouvees==tailleMot){
    						alert("Bravo ! Vous avez découvert le mot secret !");
    						fini=true;
    					}
    				}
    			-->
    		</script>
    <div id="page">
    	
    		<img name="pendu" class="pendu" src="images/pendu/0.png">
    	<span class="pendu_ti">Jeu de Pendu</span><br /><br />
    
    	<span class="pendu_text">Entrez une lettre grâce au clavier ci-dessous ; si elle est dans le mot secret, elle sera affichée mais sinon...</span>
    	<span class="pendu_text">Vous risquez d'y perdre la tête !</span>
    	<table id="clavier">
    	 <tr>
    		<td onclick="proposer(this);" >A</td><td onclick="proposer(this);" >B</td><td onclick="proposer(this);" >C</td><td onclick="proposer(this);" >D</td>
    		<td onclick="proposer(this);" >E</td><td onclick="proposer(this);" >F</td><td onclick="proposer(this);" >G</td><td onclick="proposer(this);" >H</td>
    		<td onclick="proposer(this);" >I</td><td onclick="proposer(this);" >J</td>
    	 </tr>
    	 <tr>
    		<td onclick="proposer(this);" >K</td><td onclick="proposer(this);" >L</td><td onclick="proposer(this);" >M</td><td onclick="proposer(this);" >N</td>
    		<td onclick="proposer(this);" >O</td><td onclick="proposer(this);" >P</td><td onclick="proposer(this);" >Q</td><td onclick="proposer(this);" >R</td>
    		<td onclick="proposer(this);" >S</td><td onclick="proposer(this);" >T</td>
    	 </tr>
    	 <tr>
    		<td onclick="proposer(this);" >U</td><td onclick="proposer(this);" >V</td><td onclick="proposer(this);" >W</td><td onclick="proposer(this);" >X</td>
    		<td onclick="proposer(this);" >Y</td><td onclick="proposer(this);" >Z</td>
    	 </tr>
    	</table>
    	
    	<br>
    	<form method="post" action="pendu_membre.php">
    		<input type="submit" name="submit_pendu" value="nouvelle partie" />
    	</form>
    	<a class="lien" href="javascript:location.reload();">Nouvelle partie</a><?php echo ' Il vous reste : '.$donne['nb_partie_pendu'].' parties !';?>
    		
    	<table id="mot">
    		<tr>
    			<script language="javascript">
    				for(var i=0; i<tailleMot; i++) document.write("<td> <p id=\""+i+"\">"+motSecret.charAt(i)+"</p></td>");
    			</script>
    		</tr>
    	</table>
    	<script language="javascript">
    		for(var i=0; i<tailleMot; i++) tableauMot[i]=document.getElementById(i);
    	</script>
    </div>




    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2013 à 20:52:32

      Il est possible d'utiliser le localStorage pour ça, mais un utilisateur "expérimenté" peut quand même modifier la valeur...

      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2013 à 21:49:13

        Faut faire les vérifications côté serveur.

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          1 avril 2013 à 1:43:50

          Je me doute oui. vous pensez que le mieux serais de modifier les nb de partie à chaque passage de la page ?

          Ou faire valider la partie des qu'il a fini (enlever une partie et lui attribuer ces gains ) ?

          merci de votre temps :D

          • Partager sur Facebook
          • Partager sur Twitter
            1 avril 2013 à 2:05:07

            De deux choses l'une : soit tu programmes ton script de façon à ce qu'on puisse rejouer sans recharger la page (mais là faut être capable de le modifier), soit tu passes effectivement par un rechargement de page, mais tu comptes les parties côté serveur avec une variable de session.

            Tu as aussi l'option des cookies, de localStorage, etc. mais bon, au moins avec les sessions tu sais que le mec ne peut pas changer le nombre de parties jouées (tout ce qui est stocké côté client c'est l'identifiant de session).

            Ceci étant dit, si tu voulais empêcher la triche il faudrait programmer tout ton pendu côté serveur, parce que là on peut faire ce qu'on veut avec ton script, notamment lire le mot à trouver... mais bon, je vois pas qui tricherait à un pendu.

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              1 avril 2013 à 2:14:16

              ça serait dur de le refaire en php ?

              Merci pour ces réponses je serait assez pour le refaire en php. Mais bon je galère beaucoup avec les fonctions. Un vrai point noir malheureusement.

              Script Pendu php : http://www.siteduzero.com/forum/sujet/probleme-code-php-1

              -
              Edité par Anonyme 3 avril 2013 à 19:27:31

              • Partager sur Facebook
              • Partager sur Twitter

              pendu javascript

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown