login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Spellen > Het "grote" dobbel-spel


Reacties op het script Het "grote" dobbel-spel

Offline  haytjes
Gepost op: 21 mei 2006 - 19:06
Gouden medailleGouden medaille

JS gevorderde




  1. <?
  2. $start_pc = 0;
  3. $score_pc = 0;
  4. while($start_pc!=$num){
  5. $start_pc++;
  6. $worp = rand(1,6);
  7. $score_pc = $score_pc + $worp;
  8. }
  9. ?>


dit stukje code kan je verbeteren:
  1. <?
  2. $start_pc = 0;
  3. $score_pc = 0;
  4. while($start_pc<$num){ // != => < is leesbaarder
  5. $score_pc += rand(1,6); // $getal = $getal + ?; => $getal += ?;
  6. $start_pc++; // dit moet eigenlijk op het laatst gedaan worden
  7. }
  8. ?>

Offline  GTW
Gepost op: 21 mei 2006 - 21:03
Gouden medaille

PHP gevorderde




aangepast op beide stukken.
zowel pc als player

Offline  nemesiskoen
Gepost op: 22 mei 2006 - 20:19
Gouden medaille

PHP expert




Een kleine 'logische' verbetering

  1. #aantal keer gegooid
  2. $num = $_POST['num'];
  3.  
  4. #computer value
  5. $start_pc = 0;
  6. $score_pc = 0;
  7. while($start_pc<$num){
  8. $score_pc += rand(1,6);
  9. $start_pc++;
  10. }
  11.  
  12. #jouw score berekenen
  13. $start_player = 0;
  14. $score_player = 0;
  15. while($start_player<$num){
  16. $score_player += rand(1,6);
  17. $start_player++;
  18. }


==

  1. #aantal keer gegooid
  2. $start = 0;
  3. while($start++ < $_POST['num']){
  4. $score_pc += rand(1,6);
  5. $score_player += rand(1,6);
  6. }


Ik vind het overigens leuk dat je allerlei van zo'n spelletjes post!

Offline  GTW
Gepost op: 22 mei 2006 - 23:09
Gouden medaille

PHP gevorderde




achjaa, tuurlijk, helemaal niet aan gedacht dat dat ook in 1 keer kon 
ik had niets te doen 

Offline  haytjes
Gepost op: 23 mei 2006 - 18:25
Gouden medailleGouden medaille

JS gevorderde




idd, 'k dacht dat korter kon, maar ik zag het zelf niet direct.
'k Zit nu aan iets anders te denken. Het veldje $_POST['num'] kan aangepast worden naar zoveel dat je zelf wilt. Nu is dat niet zo erg bij een klein getal. Maar beeld je een keer in dat iemand 10.000 keer laat lopen. Dan gaat dit scriptje veel resources vragen enzo, waardoor je een DDos aanval kan uitlokken.

Ik zou er dus persoonlijk nog een check insteken, dat het niet meer dan 10 is.

Offline  haytjes
Gepost op: 23 mei 2006 - 18:36
Gouden medailleGouden medaille

JS gevorderde




ook snap ik nog iets niet

  1. <?
  2. if($score_pc > $score_player){
  3. echo '<font color="red">Je hebt verloren</font>';
  4. echo '<br /><table><tr><td align="right">Jouw score:</td><td>'.$score_player.'</td></tr><tr><td align="right" width="50%">PC score:</td><td>'.$score_pc.'</td></tr></table>';
  5. }
  6. elseif($score_pc < $score_player){
  7. echo '<font color="green">Je hebt gewonnen,<br />Gefeliciteerd</font>';
  8. echo '<br /><table><tr><td align="right">Jouw score:</td><td>'.$score_player.'</td></tr><tr><td align="right" width="50%">PC score:</td><td>'.$score_pc.'</td></tr></table>';
  9. }
  10. elseif($score_pc == $score_player){
  11. echo '<font color="orange">Het was een gelijkspel,<br />Niemand heeft gewonnen</font>';
  12. echo '<br /><table><tr><td align="right">Jouw score:</td><td>'.$score_player.'</td></tr><tr><td align="right" width="50%">PC score:</td><td>'.$score_pc.'</td></tr></table>';
  13. }
  14. else{
  15. echo '<font color="red">Door een fout kon er niets berekend worden</font>';
  16. }
  17. ?>

wat kunnen twee getallen anders zijn dan gelijk, groter of kleiner dan elkaar. Ook kan je de code dan aanpassen, zodat het korter wordt:

  1. <?
  2. if($score_pc > $score_player){
  3. echo '<font color="red">Je hebt verloren</font>';
  4. }
  5. elseif($score_pc < $score_player){
  6. echo '<font color="green">Je hebt gewonnen,<br />Gefeliciteerd</font>';
  7. }
  8. elseif($score_pc == $score_player){
  9. echo '<font color="orange">Het was een gelijkspel,<br />Niemand heeft gewonnen</font>';
  10. }
  11. echo '<br /><table><tr><td align="right">Jouw score:</td><td>'.$score_player.'</td></tr><tr><td align="right" width="50%">PC score:</td><td>'.$score_pc.'</td></tr></table>';
  12. ?>

Offline  GTW
Gepost op: 23 mei 2006 - 19:14
Gouden medaille

PHP gevorderde




het is allebei aangepast, de controle op >10 en de kortere code.

Offline  haytjes
Gepost op: 23 mei 2006 - 20:23
Gouden medailleGouden medaille

JS gevorderde




ik zat eigenlijk aan iets anders aan het denken:

  1. <?
  2. if(isset($_POST['num']) && is_numeric($_POST['num']) && 0<$_POST['num'] <= 10){


ipv
  1. <?
  2. if(isset($_GET['dobbel'])and($_GET['dobbel']=="action")){


dan is die action ook niet meer nodig, enzo

Offline  GTW
Gepost op: 23 mei 2006 - 20:30
Gouden medaille

PHP gevorderde




ik heb hem nu iets anders, jou manier gaf ie een error.
  1. <?php
  2. if(isset($_POST['num']) && is_numeric($_POST['num']) && 0<$_POST['num'] <= 10){
  3. ?>

===>
  1. <?php
  2. if(isset($_POST['num']) && is_numeric($_POST['num']) && $_POST['num'] <= 10 && 0<$_POST['num']){
  3. ?>

maar die dobbel en action zijn er nu uit

Offline  coybot
Gepost op: 16 oktober 2008 - 18:26
Nieuw lid



hij doet het je hoeft niks aan te passen zet deze als voorbeeld neer: http://vaginalscience.scienceontheweb.net/spel.php


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