Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Orzeł czy reszka?
Ukis
post 8.02.2009, 22:06:07
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.01.2008

Ostrzeżenie: (0%)
-----


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.
Powód edycji: [erix] na przyszłość używaj poprawnego bbcode
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Lion_87
post 8.02.2009, 22:21:34
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


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.

Ten post edytował Lion_87 8.02.2009, 22:24:13
Go to the top of the page
+Quote Post
Ukis
post 8.02.2009, 22:28:10
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.01.2008

Ostrzeżenie: (0%)
-----


Mmm... a jak zrobić, by ta wartość była tylko za pierwszym razem? smile.gif
Go to the top of the page
+Quote Post
pEbE
post 8.02.2009, 22:31:27
Post #4





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


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'];
}


Ten post edytował pEbE 8.02.2009, 22:49:30
Go to the top of the page
+Quote Post
Ukis
post 8.02.2009, 22:47:27
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.01.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nexis
post 8.02.2009, 23:14:36
Post #6





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


  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>


Ten post edytował nexis 8.02.2009, 23:19:32


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Ukis
post 9.02.2009, 17:02:19
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.01.2008

Ostrzeżenie: (0%)
-----


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

?
Go to the top of the page
+Quote Post
djstrong
post 9.02.2009, 17:10:01
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

Ostrzeżenie: (0%)
-----


To oznacza, że coś wysyłasz do klienta przed otwarciem sesji.
Go to the top of the page
+Quote Post
Ukis
post 9.02.2009, 17:13:55
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.01.2008

Ostrzeżenie: (0%)
-----


Ok, już mi działa. tongue.gif Dzięki.
Go to the top of the page
+Quote Post
nexis
post 10.02.2009, 23:07:02
Post #10





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


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?


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Lion_87
post 10.02.2009, 23:12:07
Post #11





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Daj głodnemu wędkę i naucz go łowić ryby, bo inaczej zje rybę i nadal będzie głodny...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:02