Groupe PhP

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Groupe PhP

Forum du groupe d'apprentissage mutuel en PHP

Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

5 participants

    [Concours] Scripts de kolosta debuguage

    Single Dark
    Single Dark
    Débutant PHP
    Débutant PHP


    Messages : 63
    Date d'inscription : 06/09/2009
    Age : 35
    Localisation : Brest

    [Concours] Scripts de kolosta debuguage Empty [Concours] Scripts de kolosta debuguage

    Message par Single Dark Jeu 10 Sep - 19:28

    Bon pour rappel voici le script original de kolosta :

    Code:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Pierre,Feuille,Ciseau</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <style type="text/css">
      body
    {
      width: 760px;
      margin: auto;
      margin-top: 20px;
      margin-bottom: 20px;   
      background-image: url("http://www.divertissez-vous.com/images/pierre-feuille-ciseaux_big.jpg");
    }
    p
    {
      color: red;
      font-size: 18px;
    }
    Fieldset
    {
    border-width: 4px;
    border-style: solid;
    border-color: red;
    background-color: white;
    }
     </style>
        </head>
        <body><center><h1 style="color: white"><em>Jeu de pierre, feuille ciseau </em></h1></center>

    <FIELDSET> 
    <center><h3 id="Les règles du jeu">Règles du jeu</h3></center>
    <p>      Le pierre, feuille, ciseau aussi appelé jankenpon a des règles bien simple.<br/>
    Vous choisissez soit la pierre, soit la feuille soit le ciseau et votre adversaire(l'ordinateur) en fait de même.<br/><br/>
    Le raisonnement est simple:<br/>
    La feuille enveloppe la pierre qui casse le ciseau qui coupe la feuille.<br/>
    Voila, vous savez tout ce qu'il faut pour jouer<br/>
    Vous pouvez maintenant jouer</p>
    </FIELDSET>
    <center><h3 id="Le Jeu">Le Jeu</h3></center>
    <?php
    if (isset ($_POST['player'])); //si le joueur appuie sur un des boutons//
    {
      $_ordi==round(rand (1,3));//l'ordi choisi un nombre aléatoire entre 1 et 3 correspondant à pierre, feuille ou ciseau//
     
          if($_POST['player'] == "Pierre" AND $_ordi == 3){ $reponse == 1 ;$_conclusion = echo'La pierre casse les ciseaux'  ; }// Pierre win ciseau//
          elseif($_POST['player'] == "Feuille" AND $_ordi == 1){ $reponse == 1 ; $_conclusion == echo'La feuille emballe la pierre ' ; }// feuille win pierre//
          elseif($_POST['player'] == "Ciseaux" AND $_ordi == 2){ $reponse == 1 ; $_conclusion == echo'Les ciseaux coupent la feuille ' ; }// ciseaux feuille//
          elseif($_POST['player'] == "Pierre" AND $_ordi == 1){ $reponse == 2 ; }//Pour les trois suivante, c'est le cas de l'égalité//
          elseif($_POST['player'] == "Feuille" AND $_ordi == 2){ $reponse == 2 ; }
          elseif($_POST['player'] == "Ciseaux" AND $_ordi == 3){ $reponse == 2 ; }
          else{$reponse == 3;} // ordi gagne joueur//

      if($reponse == 1);
      { $_message == echo'Vous gagnez cette manche'; }
      elseif($reponse == 2);
      { $_message == echo' Match Nul !'; }
      else ($reponse == 3);
      { $_message == echo'Vous avez perdu cette manche'; }
     
      ?>   
      <FIELDSET>
      <p style= "color: red"> <?php echo $_message ; ?> <br />
      Vous avez joué :<?php echo $_POST['player'] ;?>
      <br />
      L ordinateur a joué :<?php echo $_ordi ;?>
      <br />
      <?php echo $_conclusion ;?>
      </p>
      </FIELDSET><br/><br/><br/>
    <?php
    }
    ?>
    <center>
     <FIELDSET>
    <br/>
    <br/>
    <form method="post" action="pfc2.php" >
    <input type="image" name="player" src="pics/mac.jpg" alt="Pierre" value="Pierre" onClick="submit"/>
    <input type="image" name="player" src="pics/feuille.jpg" alt="feuille" value="Feuille" onClick="submit"/>
    <input type="image" name="player" src="pics/ciseau.jpg" alt="ciseau" value="Ciseaux" onClick="submit"/> 
    </form>
    <p><br />
    <br/>
      Cliquez sur les images pour jouer !</p>
    </center>
    </FIELDSET>

    </body>
    </html>

    Bon déjà aére ton code, et indante le, parce que un gros script qui fait que 10 lignes, ça fait ma eu yeux.

    Voilà une fois bien aéré et bien indanté, je poste uniquement la partie de traitement.

    Code:

    <?php
    if (isset ($_POST['player'])); //si le joueur appuie sur un des boutons//
    {
      $_ordi==round(rand (1,3));//l'ordi choisi un nombre aléatoire entre 1 et 3 correspondant à pierre, feuille ou ciseau//
     
          if      ($_POST['player'] == "Pierre" AND $_ordi == 3)
          {
             $reponse == 1 ;
             $_conclusion = echo'La pierre casse les ciseaux'  ;
          }// Pierre win ciseau//
          
          elseif   ($_POST['player'] == "Feuille" AND $_ordi == 1)
          {
             $reponse == 1 ;
             $_conclusion == echo'La feuille emballe la pierre ' ;
          }// feuille win pierre//
          
          elseif   ($_POST['player'] == "Ciseaux" AND $_ordi == 2)
             {
             $reponse == 1 ;
             $_conclusion == echo'Les ciseaux coupent la feuille ' ;
             }// ciseaux feuille//
            
          elseif   ($_POST['player'] == "Pierre" AND $_ordi == 1)
          {
             $reponse == 2 ;
          }//Pour les trois suivante, c'est le cas de l'égalité//
          
          elseif   ($_POST['player'] == "Feuille" AND $_ordi == 2)
             {
             $reponse == 2 ;
             }
          elseif   ($_POST['player'] == "Ciseaux" AND $_ordi == 3)
             {
             $reponse == 2 ;
             }
          else
          {
             $reponse == 3;
          } // ordi gagne joueur//

      if      ($reponse == 1);
       {
          $_message == echo'Vous gagnez cette manche';
       }
          
      elseif   ($reponse == 2);
       {
          $_message == echo' Match Nul !';
       }
      else    ($reponse == 3);
       {
          $_message == echo'Vous avez perdu cette manche';
       }
          
     
      ?> 

    [MODE=Mechant]
    Bon alors là, y du boulot.
    [/MODE]

    [MODE=Pédagogique]
    Y va y avoir du sport...
    [/MODE]

    Il y a beaucoup d'erreur.
    Je commence par le début.


    Code:

    $_ordi==round(rand (1,3));

    Pour assigner une valeur a une variable il n'y a juste un seul '='.

    Code:

    $_ordi = round(rand(1,3));

    Ensuite premier conditions de ton script tu fait :

    Code:

          if      ($_POST['player'] == "Pierre" AND $_ordi == 3)
          {
             $reponse == 1 ;
             $_conclusion = echo'La pierre casse les ciseaux'  ;
          }// Pierre win ciseau//

    La aussi t'a mis deux '=' pour assigner une valeur à une variable. Donc déjà la c'est pas bon.

    Ensuite tu esseye d'ecrire quelque chose dans une variable, or tu ne peut pas.
    Tu peut uniquement lui assigner un texte donc cela donne :

    Code:

          if      ($_POST['player'] == "Pierre" AND $_ordi == 3)
          {
             $reponse = 1 ;
             $_conclusion = 'La pierre casse les ciseaux'  ;
          }// Pierre win ciseau//

    Cette erreur se retrouve sur tous le reste du script.

    Apres tu fait un 'else (CONDITION)', je te rappel les conditions 'if, elseif, else', en francais ça donne 'si, sinon si, sinon' et on emploi pas sinon avec une condition derrière, bah la en PHP c'est pareil.

    Ensuite, tu fais 'if(CONDITION);', tu avais bien fait avant, là je pense que c'est une erreur inattention.

    Par contre après tu a fait dans ton formulaire '<form method="post" action="pcf2.php">'

    Le fichier ou se trouve le script se trouve peut etre pcf2.php, mais pour faire plus simple pour le jury, il faudrait mieux faire '<form method="post" >

    Voilà si tu as des questions ???

    Aller je suis sympa je te file le code corrigé by me...

    Spoiler:
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par kolosta Jeu 10 Sep - 20:05

    De 1 merci beaucoup de corrigé le noob que je suis Embarassed
    De 2, je voulais savoir (vu que je ne connais pas la fonction) comment fonctionne rand et round en sachant que je l'ai copié coller d'un script de plus ou moins
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par ptitpunk Jeu 10 Sep - 20:51

    t'as just à faire un rand tout simple, pas besoin de faire round Wink
    avatar
    kolosta
    Développeur PHP
    Développeur PHP


    Messages : 105
    Date d'inscription : 06/09/2009

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par kolosta Jeu 10 Sep - 20:53

    single Dark>> j'ai essayé ton code mais le résultat ne s'affiche toujours pas Surprised
    Single Dark
    Single Dark
    Débutant PHP
    Débutant PHP


    Messages : 63
    Date d'inscription : 06/09/2009
    Age : 35
    Localisation : Brest

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par Single Dark Jeu 10 Sep - 20:55

    Je pense que le plus simple pour savoir comment fonctionne quelque chose c'est d'aller voir sur la doc PHP.

    round()
    rand()


    [EDIT] Pour ton problème de résultat chez moi y s'affiche bon sa marque 'L ordinateur a joué :3', après il te faut faire correspondre le 3 avec le ciseaux
    ptitpunk
    ptitpunk
    Admin
    Admin


    Messages : 111
    Date d'inscription : 05/09/2009
    Age : 30

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par ptitpunk Jeu 10 Sep - 21:36

    Donc d'après la doc, round() est utilisé pour arrondir un chiffre...
    Tu pourrais expliquer pourquoi l'avoir utilisé ici stp? scratch
    Merci Wink
    [EDIT] Pour ton problème de résultat chez moi y s'affiche bon sa marque 'L ordinateur a joué :3', après il te faut faire correspondre le 3 avec le ciseaux
    Tu peux utiliser un tableau pour ça Wink
    Harfangdesneiges
    Harfangdesneiges
    Novice PHP
    Novice PHP


    Messages : 10
    Date d'inscription : 09/09/2009

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par Harfangdesneiges Ven 11 Sep - 19:04

    Euh... pour la génération de nombres aléatoires, selon la doc PHP, mt_rand() est plus rapide que rand()...
    Darkwarrios
    Darkwarrios
    Admin & Soutien PHP
    Admin & Soutien PHP


    Messages : 67
    Date d'inscription : 05/09/2009

    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par Darkwarrios Ven 11 Sep - 19:58

    oui, rand() php utilise de vieilles bibliothèques libcs, alors que mt_rand() utilise le Mersenne twister, que-ce que c'est et que-ce que sa a de différent, j'en sais rien, mais apparement sa génère plus vite un nombre aléatoire ^^

    Contenu sponsorisé


    [Concours] Scripts de kolosta debuguage Empty Re: [Concours] Scripts de kolosta debuguage

    Message par Contenu sponsorisé

      Sujets similaires

      -

      La date/heure actuelle est Dim 19 Mai - 13:06