[TERMINE]``` Petite aide ```



  • Bonjour à vous.
    Pour le plaisir , je développe un "Mini" jeux.
    Une fois les base du jeux faite, je ferais en sorte d'en faire un "Jeux des 7differences ".

    Mais passons on problème.

    CAS UN :
    Je troue , au premier essais, une bonne réponse.
    Ceci m'affiche :

    Tentatives Gagnantes : 0
    Tentative perdentes : 1

    Au lieux de :

    Tentatives Gagnantes : 1
    Tentative perdentes : 0

    Si, au deuxième essais, je trouve encore une bonne réponse.
    Ceci m'affiche :

    Tentatives Gagnantes : 1
    Tentative perdentes : 2

    Ainsi de suite, à chaque bonne réponse , chaque valeur augment de 1.
    (0-1 / 1-2/ 2-3 / 3-4 / 4-5)

    Maintenant, si au Début je trouve une bonne réponse.
    Puis, une mauvaise réponse. (Ce qui devrais donner " 1 - 1 ")
    Me donne :

    Tentatives Gagnantes : 0
    Tentative perdentes : 3

    Enfin, que vous gagner/perder des le debout ou pas, sa bug :/

    Voici le code :

    <?php
    
        ///////////__--__CONFIGURATION__--__///////////
       /*//*/  session_start();					/*//*/
      /*//*/   $nombre_max_tentatives	= '5'; /*//*/
     /*//*/$solutions = array("1","9");/*//*/
    ///////////////////////////////////////////////	
    
    	/*//*/////////__-- GESTION DE LA PARTIE -- __ ////////////////////////////////////////////////////////////*//*/
    
        if(isset($_GET['choix'])) //Si on clique quelque part													
      			{																								
    				$choix = $_GET['choix'];
    
      			if($_SESSION['tentative'] == '0') //Si c'est le 1er essais									
      				{																																									
      					$_SESSION['tentative'] = '1';	
    
    						for ($numero = '0'; $numero < '2'; $numero++)
    							$bonne_solution = $solutions[$numero];
    						{
    							if($bonne_solution == $choix)//si c'est une bonne reponse
    							{
    
    								$_SESSION['bonne_solution'] = '1';
    
    							}
    							elseif($bonne_solution !== $choix)
    							{
    								$_SESSION['mauvaise_solution']  = '1';
    							}
    						}
      				}																						
      		elseif($_SESSION['tentative'] > '0')//Si ce n'est pas le 1er essais							
      					{																						
    
      						$nombre_tentative		=	$_SESSION['tentative'];									
      						$_SESSION['tentative']	=	$nombre_tentative + '1' ;
    
    					for ($numero = '0'; $numero < '2'; $numero++)
    						{
    							$bonne_solution = $solutions[$numero];
    
    							if($bonne_solution == $choix)//si c'est une bonne reponse
    							{
    								$nb_bonne_solution 	= $_SESSION['bonne_solution'];
    								$_SESSION['bonne_solution'] = $nb_bonne_solution + '1';
    							}
    							else
    							{
    								if($_SESSION['mauvaise_solution'] == '0')
    									{
    										$_SESSION['mauvaise_solution'] = '1';
    									}
    								elseif($_SESSION['mauvaise_solution'] >= '1')
    									{	
    								$nb_mauvaise_solution 	= $_SESSION['mauvaise_solution'];
    								$_SESSION['mauvaise_solution'] = $nb_mauvaise_solution + '1' ;								
    									}
    							}
    
    						}
    
    						if($_SESSION['tentative'] >= '5')//Si on à déjà utiliser toute les tentatives	
    								{																			
      									session_destroy();														
      								} 																			
    
      					}																						
    
      			}																								
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
    	/*///////////////////--__ PAS ENCORE JOUER /////////////////////////////////////////////////////////////////////////*/
      else//Si on à pas commencer la parti
    		{
    			echo'Cliquer pour commencer';
    			$_SESSION['tentative'] = '0';
    			$_SESSION['bonne_solution']	=	'0';
    			$_SESSION['mauvaise_solution'] = '0';
    
    		}
    
    		if($_SESSION['tentative'] < '5')
    								{
    							/*/	echo'<form method="post">
    									<input type="submit" id="tentative" class="tentative" name="choix" value="Login"/> 
    									</form>';/*/
    								}
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
    	/*///////////////////--__ PARTIE FINI /////////////////////////////////////////////////////////////////////////*/
      else{
    				echo'Terminé<br />';
    				echo'Vous n'avez plus de partie<br />';
    				echo'<b><a href="test.php">Re-jouez !</a></b>';
    			}
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
    /*///////////////////--__ STATISTIQUE /////////////////////////////////////////////////////////////////////////*/
    echo'<br /><br /><br />';
    echo'<b>Tentative Max :</b> '.$nombre_max_tentatives.' <br /> ';
    echo'<b>Tentative jouer :</b> '.$_SESSION['tentative'].' <br /><br />';
    
    echo'<b><font color=green>Tentatives Gagnantes :</font></b> '.$_SESSION['bonne_solution'].' <br />';
    
    echo'<b><font color=red>Tentative perdentes :</font></b> '.$_SESSION['mauvaise_solution'].'<br />';
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    ?>
    
    <br />			
    <table border="1px" style="background:url(http://www.siteduzero.com/Templates/images/designs/2/logo_sdz_fr.png); height:116px; width:218px;">
    
    <form method="post" >
       <tr>
           <th name="1"  ><a href="test.php?choix=1">1</a></th>
           <th name="2"  ><a href="test.php?choix=2">2</a></th>
           <th name="3"  ><a href="test.php?choix=3">3</a></th>
    	   <th name="4"  ><a href="test.php?choix=4">4</a></th>
    	   <th name="5"  ><a href="test.php?choix=5">5</a></th>
       </tr>
          <tr>
           <th name="6"  ><a href="test.php?choix=6">6</a></th>
           <th name="7"  ><a href="test.php?choix=7">7</a></th>
           <th name="8"  ><a href="test.php?choix=8">8</a></th>
    	   <th name="9"  ><a href="test.php?choix=9">9</a></th>
    	   <th name="0"  ><a href="test.php?choix=0">0</a></th>
       </tr>
     </form>
    
    </table>
    
    

    Savais vous d'ou cela viens ?



  • Factoriser le code caybien :mrgreen:
    Par ailleurs essaye d'éviter d'utiliser des chaines de caractères là où tu dois gérer des nombres. Ca n'est pas très logique :)

    Ca déjà, c'est quand même bien plus petit et plus lisible (je pense) ^^
    Je n'ai refait que la partie qui traitait de la validation, en me basant sur le code que tu as fournis.

    if (isset ($_GET['choix']))
    	{
    		$choix = $_GET['choix'];
    
    		if (!isset ($_SESSION['bonne_solution']))    $_SESSION['bonne_solution']    = 0;
    		if (!isset ($_SESSION['mauvaise_solution'])) $_SESSION['mauvaise_solution'] = 0;
    
    		if (in_array($choix, $solutions))
    			$_SESSION['bonne_solution']++;
    		else
    			$_SESSION['mauvaise_solution']++;
    
    		if (!isset ($_SESSION['tentatives'])) $_SESSION['tentatives'] = 0;
    		$_SESSION['tentatives']++;
    	}
    

    [edit] Phenix a raison, avec in_array() c'est encore plus simple ^^



  • Oula tu fait peur toi ^^

    Les algorithmes les plus simple sont les meilleurs, mais avant de te donner la solution finale, quelques remarques:

    Tu utilise un array pour stocker les bonnes réponse, c'est une excellente idée, c'est array sont des variable de stockage. Mais tu perd tout les avantage de l'array en utilisant une boucle pour vérifier si le choix ce trouve dans les solutions. Utilise la fonction in_array, elle est faite pour sa :).

    ensuite ce genre de choses:

    $nombre_tentative      =   $_SESSION['tentative'];                           
    $_SESSION['tentative']   =   $nombre_tentative + '1' ; 
    

    C'est pas plus simple de faire directement $_SESSION['tentative']++; ? ;)

    Fin bref, je te donne la solution, n'hésite pas a poser des question :)

    <?php
    
        ///////////__--__CONFIGURATION__--__///////////
       /*//*/  session_start();               /*//*/
      /*//*/   $nombre_max_tentatives   = 5; /*//*/
     /*//*/$solutions = array(1,9);/*//*/
    ///////////////////////////////////////////////   
    
       /*//*/////////__-- GESTION DE LA PARTIE -- __ ////////////////////////////////////////////////////////////*//*/
    
    if(isset($_GET['choix'])) //Si on clique quelque part                                       
    	{                                                                        
    		$choix = $_GET['choix'];
    
    		if (in_array($choix,$solutions)) $_SESSION['bonne_solution']++;
    		else $_SESSION['mauvaise_solution']++;
    
    		$_SESSION['tentative']++;
    
    		if($_SESSION['tentative'] >= 5)
    			{
    				session_destroy();
    			}
    	}                                                                        
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
       /*///////////////////--__ PAS ENCORE JOUER /////////////////////////////////////////////////////////////////////////*/
    else//Si on à pas commencer la parti
    	{
    		echo'Cliquer pour commencer';
    		$_SESSION['tentative'] = 0;
    		$_SESSION['bonne_solution']   =   0;
    		$_SESSION['mauvaise_solution'] = 0;
    	}
    if($_SESSION['tentative'] < 5)
    	{
                         /*/   echo'<form method="post">
                               <input type="submit" id="tentative" class="tentative" name="choix" value="Login"/>
                               </form>';/*/
    	}
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
       /*///////////////////--__ PARTIE FINI /////////////////////////////////////////////////////////////////////////*/
    else
    	{
    		echo'Terminé<br />';
    		echo'Vous n'avez plus de partie<br />';
    		echo'<b><a href="test.php">Re-jouez !</a></b>';
    	}
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    
    /*///////////////////--__ STATISTIQUE /////////////////////////////////////////////////////////////////////////*/
    echo'<br /><br /><br />';
    echo'<b>Tentative Max :</b> '.$nombre_max_tentatives.' <br /> ';
    echo'<b>Tentative jouer :</b> '.$_SESSION['tentative'].' <br /><br />';
    
    echo'<b><font color=green>Tentatives Gagnantes :</font></b> '.$_SESSION['bonne_solution'].' <br />';
    
    echo'<b><font color=red>Tentative perdentes :</font></b> '.$_SESSION['mauvaise_solution'].'<br />';
      /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
    ?>
    
    <br />         
    <table border="1px" style="background:url(http://www.siteduzero.com/Templates/images/designs/2/logo_sdz_fr.png); height:116px; width:218px;">
       <tr>
           <th name="1"  ><a href="test.php?choix=1">1</a></th>
           <th name="2"  ><a href="test.php?choix=2">2</a></th>
           <th name="3"  ><a href="test.php?choix=3">3</a></th>
          <th name="4"  ><a href="test.php?choix=4">4</a></th>
          <th name="5"  ><a href="test.php?choix=5">5</a></th>
       </tr>
          <tr>
           <th name="6"  ><a href="test.php?choix=6">6</a></th>
           <th name="7"  ><a href="test.php?choix=7">7</a></th>
           <th name="8"  ><a href="test.php?choix=8">8</a></th>
          <th name="9"  ><a href="test.php?choix=9">9</a></th>
          <th name="0"  ><a href="test.php?choix=0">0</a></th>
       </tr>
    </table> 
    
    


  • :lol: j'ai encore tants de choses a apprendre.
    Merci beaucoup à vous !


Log in to reply