login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Spellen > Rock, paper, scissors


Reacties op het script Rock, paper, scissors

Offline  nemesiskoen
Gepost op: 21 mei 2006 - 12:26
Gouden medaille

PHP expert




Doe eens gewoon '$gewonnen = true' zonder die quotes. En kijk dan:
if($gewonnen) // doe iets
else // doe iets anders

Offline  GTW
Gepost op: 21 mei 2006 - 12:41
Gouden medaille

PHP gevorderde




aangepast, ik had dat al wel geprobeerd, maar controleerde het verkeerd 
ik probeerde te kijk if($gewonnen===false){...}
daar deed ie het niet mee

Offline  nemesiskoen
Gepost op: 21 mei 2006 - 21:55
Gouden medaille

PHP expert




Ik heb hier een leuk mechaniekje gevonden zodat je niet al die if's moet doen. Het is een beetje complex maar hierbij is er geen if meer nodig:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Rock, Paper, scissors</title>
  6. </head>
  7.  
  8. <body>
  9. <center>
  10. <?php
  11. if(isset($_POST['submit'])){
  12.  
  13. $actions = array("paper", "rock", "scissors");
  14. $mogelijkheden = array("paper" => 1, "rock" => 2, "scissors" => 4);
  15.  
  16. $speler = $mogelijkheden[$_POST['rps']];
  17.  
  18. $c = $actions[rand(0,2)];
  19. $comp = $mogelijkheden[$c];
  20.  
  21. $gewonnen = ((($speler > $comp && $comp / $speler != 0.5) || $speler / $comp == 0.5) && $comp != $speler);
  22.  
  23.  
  24. if($gewonnen){
  25. ?>
  26. <font color="green">
  27. Je hebt gewonnen!<br />
  28. Gefeliciteerd
  29. </font>
  30. <?php
  31. }
  32. elseif($speler == $comp){
  33. ?>
  34. Jullie hadden dezelfde actie,<br />
  35. Gelijkspel
  36. <?php
  37. }
  38. else{
  39. ?>
  40. <font color="red">Je hebt verloren!</font>
  41. <?php
  42. }
  43.  
  44. ?>
  45. <br /><br />
  46. <table>
  47. <tr>
  48. <td width="50%">Jouw actie:</td>
  49. <td><?php echo ucfirst($_POST['rps']) ?></td>
  50. </tr>
  51. <tr>
  52. <td>Pc actie:</td>
  53. <td><?php echo ucfirst($c) ?></td>
  54. </tr>
  55. </table>
  56. <br /><br />
  57. <a href="<?php echo $_SERVER['HTTP_REFERER']; ?>>Begin opnieuw</a>
  58. <?php
  59. exit();
  60. }
  61. ?>
  62. Welkom bij Rock, paper, scissors<br />
  63. <br />
  64. <table>
  65. <form name="rps" action="?action" method="post">
  66. <tr>
  67. <td><input type="radio" name="rps" value="paper" /></td>
  68. <td align="left">Paper</td>
  69. </tr>
  70. <tr>
  71. <td width="50%"><input type="radio" name="rps" value="rock" /></td>
  72. <td align="left">Rock</td>
  73. </tr>
  74. <tr>
  75. <td><input type="radio" name="rps" value="scissors" /></td>
  76. <td align="left"><label for="scissors">Scissors</label></td>
  77. </tr>
  78. <tr>
  79. <td colspan="2"><input type="submit" name="submit" value="Strijd" /></td>
  80. </tr>
  81. </form>
  82. </table>
  83. </center>
  84. </body>
  85. </html>


Code ook een 'beetje' opgekuist.

Offline  GTW
Gepost op: 22 mei 2006 - 14:58
Gouden medaille

PHP gevorderde




okee, dat ziet er wel strak uit! ik was er ooit opgekomen om het zo te doen.
Er zat alleen een klein foutje bij de link om terug te gaan, die heb ik aangepast.

Offline  Maarten
Gepost op: 22 mei 2006 - 17:26
Erelid



<?php echo $blaat; ?>
--->
<?=$blaat?>

Die paar mensen die geen shorttags kunnen gebruiken weten dat wel en zullen dat dan wel weer op de klassieke manier doen, maar voor de meerderheid graag zo kort mogelijk.

Offline  GTW
Gepost op: 22 mei 2006 - 17:28
Gouden medaille

PHP gevorderde




aangepast op de drie plaatsen

Offline  rambo
Gepost op: 23 mei 2006 - 16:43
HTML beginner



Beetje simpel als je het mij vraagt, het zou al aantrekkelijker worden als er een soort van score bijgehouden wordt, en dat je het met iemand anders kan spelen.

Offline  ikkedikke
Gepost op: 24 mei 2006 - 21:07
PHP expert



die 2 array's is een beetje dubbelop, als je ze dan echt nodig hebt gebruik dan iets als array_flip()
verder wel origineel

Offline  ece
Gepost op: 26 mei 2006 - 22:46
HTML interesse



Rock, paper, scissors nooit van gehoord.
Ik dacht dat het alleen steen, papier, schaar was .
Maybe de engelse benaming.

Offline  GTW
Gepost op: 27 mei 2006 - 21:10
Gouden medaille

PHP gevorderde




dat is het idd 
alleen toen ik het maakte, kwam ik niet meer op de nl benaming 


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.033s