Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Orzeł czy reszka?
Forum PHP.pl > Forum > Przedszkole
Ukis
Witam, mam mały problem...

  1. <title>Orzeł, czy reszka?</title>
  2.  
  3. <?php
  4. $kasa=1000;
  5.  
  6. if($task=='')
  7. {
  8. echo '<body bgcolor="black"><font color=white>';
  9. echo '<br><br><br><br><br><br><br><br><br>';
  10. echo '<center><b><font size="5">Orzeł czy Reszka?</font></b><p>';
  11. echo '<font size="4"><form action="index.php?task=oblicz" method="post">';
  12. echo '<input type="radio" name="or" value="orzel"> Orzeł<br>  ';
  13. echo '<input type="radio" name="or" value="reszka"> Reszka<p>  ';
  14. echo 'Masz <u><font color=yellow>';
  15. echo $kasa;
  16. echo '</font></u> zł.'.'<br>';
  17. echo 'Obstawiasz: <input type="text" name="ilezlota"> zł<p>';
  18. echo '<input type="submit" value="Sprawdzamy!"></font>';
  19.  
  20. <select name="nazwa" size="1">
  21. <option value="orzel">Orzeł</option>
  22. <option value="reszka">Reszka</option>';
  23.  
  24. }
  25.  
  26. if($task=='oblicz')
  27. {
  28. echo '<body bgcolor="black"><font color=white>';
  29. if(empty($ilezlota))
  30. {
  31. echo 'musisz postawić przynajmniej 1zł.';
  32. }
  33.  
  34. else
  35. {
  36. $lol=rand(1,2);
  37. echo '<body bgcolor="black"><font color=white>';
  38. switch($or)
  39. {
  40.  
  41.  
  42.  
  43.    case "orzel":
  44. echo '<br><br><br><br><br><br><br><br><br><br><center>';
  45.  
  46.   if ($lol==1)
  47.   {
  48.    $kasa=$kasa+$ilezlota;
  49.   echo 'Wypadł Orzeł.<br>' ;
  50.   echo '<font color=green>Wygrałeś';
  51.   echo $ilezlota;
  52.   echo ' zł!</font>';
  53.   $kasa=$kasa+$ilezlota;
  54.   echo '<p><a href=index.php>Gram dalej!</a>';
  55.   break;
  56.   }
  57.  
  58.   elseif ($lol==2)
  59.   {
  60.   $kasa=$kasa-$ilezlota;
  61.   echo ' Wypadła Reszka.<br>';
  62.   echo '<font color=red>Przegrałeś';
  63.   echo $ilezlota;
  64.   echo ' zł!</font>';
  65.   $kasa=$kasa-$ilezlota;
  66.   echo '<p><a href=index.php>Gram dalej!</a>';
  67.   break;
  68.   }
  69.  
  70.  
  71. case "reszka":
  72. echo '<br><br><br><br><br><br><br><br><br><br><center>';
  73.   if ($lol==1)
  74.   {
  75.   echo 'Wypadł Orzeł.<br>' ;
  76.   echo '<font color=red>Przegrałeś';
  77.   echo $ilezlota;
  78.   echo ' zł!</font>';
  79.   $kasa=$kasa-$ilezlota;
  80.   echo '<p><a href=index.php>Gram dalej!</a>';
  81.  
  82.   }
  83.  
  84.   elseif ($lol==2)
  85.   {
  86.   echo ' Wypadła Reszka.<br>';
  87.  echo '<font color=green>Wygrałeś';
  88.   echo $ilezlota;
  89.   echo ' zł!</font>';
  90.   $kasa=$kasa+$ilezlota;
  91.   echo '<p><a href=index.php>Gram dalej!</a>';
  92.  
  93.   }
  94.  
  95. }
  96.  
  97. }
  98.  
  99. }
  100.  
  101. ?>


Mianowicie chodzi o to, że po kliknięciu 'Gram dalej!', wyświetla cały czas 1000zł, a chciałbym, żeby wychodziło tyle, ile naprawdę ma gracz. Domyślam się, że to dlatego, że na samej górze jest - $kasa=1000 . Ale jak to zmienić, żeby początkowo było 1000zł, a skrypt działał tak jak napisałem? Z góry dziękuję za pomoc.
Lion_87
no patrząc na to to widziałbym opcje z hidden input i tam trzymasz wartosc $kasa
a $kasa ="1000"l ustawiasz by była tylko za pierwszym razem.
Ukis
Mmm... a jak zrobić, by ta wartość była tylko za pierwszym razem? smile.gif
pEbE
Może zapisz sobie ilość kasy w $_SESSION i odejmuj albo dodawaj w zależności od wyniku gry.

i na początku np:
Kod
if( !$_SESSION['kasa'] )
{
  $kasa = 1000;
}
else
{
  $kasa = (int)$_SESSION['kasa'];
}
Ukis
A mógłby mi ktoś podać dokładny kod? tongue.gif Bo chciałbym coś przetestować, a za bardzo tego nie umiem. Byłbym wdzięczny. sad.gif
nexis
  1. <?php
  2. if (!isset($_SESSION['cash'])) $_SESSION['cash'] = 1000;
  3. if (isset($_POST['amount'], $_POST['type'])) {
  4.   $amount = round($_POST['amount'], 2);
  5.   if (0 < $amount && $_SESSION['cash'] >= $amount) {
  6.      if (intval($_POST['type']) == rand(1,2)) {
  7.         $_SESSION['cash'] += $amount;
  8.         $msg = sprintf('Wygrałeś %01.2f zł!', $amount);
  9.      } else {
  10.         $_SESSION['cash'] -= $amount;
  11.         $msg = sprintf('Przegrałeś %01.2f zł!', $amount);
  12.      }
  13.   } else {
  14.      if (0 >= $amount) {
  15.         $msg = 'Zbyt niski wkład!';
  16.      } else {
  17.         $msg = 'Nie posiadasz wystarczającej sumy pieniędzy!';
  18.      }
  19.   }
  20. }
  21. ?>
  22. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  23. <html lang="pl">
  24. <head>
  25.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  26.   <title>Orzeł, czy reszka?</title>
  27.   <style type="text/css">
  28.      body {
  29.         height: 100%;
  30.         background-color: black;
  31.         color: white;
  32.      }
  33.      #main {
  34.         width: 500px;
  35.         height: 240px;
  36.         text-align: center;
  37.         position: absolute;
  38.         left: 50%;
  39.         top: 50%;
  40.         margin-left: -250px;
  41.         margin-top: -120px;
  42.      }
  43.      #amount {
  44.         text-align: center;
  45.         width: 60px;
  46.      }
  47.   </style>
  48. </head>
  49. <body>
  50.   <div id="main">
  51.      <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  52.         <h1>Orzeł czy reszka?</h1>
  53.         <?=(isset($msg)) ? '<h2>' . $msg . '</h2>' : ''?>
  54.         <h2>Masz <?=sprintf('%01.2f zł', $_SESSION['cash'])?></h2>
  55.         <h3>
  56.            <input type="text" id="amount" name="amount" />
  57.            na
  58.            <select name="type">
  59.               <option value="1">orzeł</option>
  60.               <option value="2">reszka</option>
  61.            </select>
  62.            <input type="submit" value="Stawiam!" />
  63.         </h3>
  64.      </form>
  65.   </div>
  66. </body>
  67. </html>
Ukis
Ok, może być, ewentualnie sobie trochę pomodyfikuje, ale ważne, że działa. Pomogłeś. winksmiley.jpg

Aha, jeszcze jedno, przepraszam za 2 posty pod rząd.
Co zrobić, by nie wyświetlały się te błędy:

Kod
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\usr\apache\httpd\html\orzelczyreszka\index.php:2) in c:\usr\apache\httpd\html\orzelczyreszka\index.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\apache\httpd\html\orzelczyreszka\index.php:2) in c:\usr\apache\httpd\html\orzelczyreszka\index.php on line 3

?
djstrong
To oznacza, że coś wysyłasz do klienta przed otwarciem sesji.
Ukis
Ok, już mi działa. tongue.gif Dzięki.
nexis
Cytat(Ukis @ 9.02.2009, 17:02:19 ) *
Ok, może być, ewentualnie sobie trochę pomodyfikuje, ale ważne, że działa. Pomogłeś. winksmiley.jpg

Dostałeś gotowca i jeszcze nie do końca Ci to leży?
Lion_87
Daj głodnemu wędkę i naucz go łowić ryby, bo inaczej zje rybę i nadal będzie głodny...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.