Advertisement
Guest User

Untitled

a guest
Oct 9th, 2013
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.82 KB | None | 0 0
  1. <?
  2.  
  3. enforce_login();
  4. session_start();
  5.  
  6. if(!check_perms('site_play_blackjack')) error(403);
  7.  
  8. show_header('Blackjack','');
  9.  
  10. if(!isset($_SESSION['betAmount'])) {
  11.     $BetAmount = false;
  12. } else $BetAmount = $_SESSION['betAmount'];
  13.  
  14. if(isset($_POST['setBet'])) {
  15.     $_SESSION['betAmount'] = $_POST['submit'];
  16.     $BetAmount = $_POST['submit'];
  17. }
  18.  
  19. /* First, we have the suits */
  20.  
  21. $suits = array (
  22.     "s", "h", "c", "d"
  23. );
  24.  
  25. /* Next, we declare the faces*/
  26.  
  27. $faces = array (
  28.     "2"=>2, "3"=>3, "4"=>4, "5"=>5, "6"=>6, "7"=>7, "8"=>8,
  29.     "9"=>9, "10"=>10, "11"=>10, "12"=>10, "13"=>10, "14"=>11
  30. );
  31.  
  32.  
  33. // INI. some vars
  34. $bust = false;
  35. $dealerBust = false;
  36. $gameEnd = false;
  37.  
  38. function evaluateHand($hand) {
  39.     global $faces;
  40.     $value = 0;
  41.     foreach ($hand as $card) {
  42.         if ($value > 11 && $card['face'] == '14') {
  43.             // There's a bug here.  If you draw Ace-Five-Ace-Ten, it thinks you have 27.
  44.             // Have a go at fixing that bug.  Email me if you have problems. - DPO
  45.             $value = $value + 1;
  46.         } else {
  47.             $value = intval($value) + intval($faces[$card['face']]);
  48.         }
  49.     }
  50.     return $value;
  51. }
  52.  
  53. /* Now build the deck by combining the faces and suits. */
  54.  
  55. $deck = array();
  56.  
  57. foreach ($suits as $suit) {
  58.     $keys = array_keys($faces);
  59.     foreach ($keys as $face) {
  60.         $deck[] = array('face'=>$face,'suit'=>$suit);
  61.     }
  62. }
  63.  
  64. /* Next, you can shuffle up the deck and pull a random card. */
  65.  
  66. shuffle($deck);
  67.  
  68. $hand = array();
  69.  
  70. ?>
  71.  
  72. <div class='thin'>
  73.     <h2>Blackjack</h2>
  74.  
  75.     <div class="head center"> Disclaimer </div>
  76.     <div class="box pad">
  77.         <b>NOTE:</b><br/>
  78.         N&aring;r du loader Den enarmede Tyvekn&aelig;gt, s&aring; laver den en cacheudgave af dine Bones. N&aring;r siden forlades eller lukkes ned, opdateres de. Ikke f&oslash;r. UnderDawgs.biz har INTET ansvar for evt. tab af Bones ved brug af dette script!!!<br>
  79.         Bet er antal Bones du byder pr. spil.
  80.     </div>
  81.  
  82.  
  83.     <div class='head center'>Blackjack</div>
  84.     <div class='box pad'>
  85.  
  86.  
  87.         <a name='game'></a>
  88.  
  89.         <?
  90.         if($BetAmount != false) {
  91.             if (empty($_POST['runGame'])) {
  92.                 for ($i = 0; $i < 2; $i++) {
  93.                     $hand[] = array_shift($deck);
  94.                     $dealer[] = array_shift($deck);
  95.                 }
  96.  
  97.                 $handstr = serialize($hand);
  98.                 $deckstr= serialize($deck);
  99.                 $dealerstr= serialize($dealer);
  100.             } else if ($_POST['submit'] == 'stay') {
  101.                 $dealer = unserialize($_POST['dealerstr']);
  102.                 $hand = unserialize($_POST['handstr']);
  103.                 $deck = unserialize($_POST['deckstr']);
  104.                 while(evaluateHand($dealer) < 17) {
  105.                     $dealer[] = array_shift($deck);
  106.                 }
  107.  
  108.                 if(evaluateHand($dealer) > 21) $dealerBust = true;
  109.                 if(evaluateHand($hand) > 21) $bust = true;
  110.                 $gameEnd = true;
  111.  
  112.                 if(!$dealerBust) echo "Dealer hit " . evaluateHand($dealer) . "<br />"; else echo "Dealer Busted<br/>";
  113.                 if(!$bust) echo "You hit " . evaluateHand($hand) . "<br /><br/>"; else echo "You Busted<br/><br/>";
  114.  
  115.  
  116.                 $handstr = $_POST['handstr'];
  117.                 $dealerstr = serialize($dealer);
  118.                 $deckstr= serialize($deck);
  119.             } else if ($_POST['submit'] == 'hit me') {
  120.                 $dealer = unserialize($_POST['dealerstr']);
  121.                 $hand = unserialize($_POST['handstr']);
  122.                 $deck = unserialize($_POST['deckstr']);
  123.                 $hand[] = array_shift($deck);
  124.                 $dealerstr = $_POST['dealerstr'];
  125.                 $handstr = serialize($hand);
  126.                 $deckstr= serialize($deck);
  127.             }
  128.             ?>
  129.  
  130.             <form method='post' action='?action=blackjack#game'>
  131.                 <input type='hidden' name='runGame' value='true'>
  132.                 <input type='hidden' name='checksum' value='<?php echo $checksum ?>'>
  133.             <input type='hidden' name='handstr' value = '<?php echo $handstr ?>' />
  134.             <input type='hidden' name='deckstr' value = '<?php echo $deckstr ?>' />
  135.             <input type='hidden' name='dealerstr' value = '<?php echo $dealerstr ?>' />
  136.             <?php
  137.  
  138.             foreach ($hand as $index =>$card) {
  139.                 echo "<img src='/static/common/bj_cards/". $card['suit'] . $card['face'] .".gif' />";
  140.             }
  141.  
  142.             if(evaluateHand($hand) > 21) $bust = true;
  143.  
  144.             if(!$bust) {
  145.             ?>
  146.             <p>You have : <?php echo evaluateHand($hand); ?></p>
  147.             <?php } else echo "<p>You Busted</p>"; ?>
  148.             <p>
  149.                 <?php if(!$gameEnd) { ?>
  150.                     Dealer is showing:<br/>
  151.                     <?php echo "<img src='/static/common/bj_cards/". $dealer[0]['suit'] . $dealer[0]['face'] .".gif' />"; ?><img src='/static/common/bj_cards/back.gif' />
  152.                 <?php } else {
  153.  
  154.                     foreach ($dealer as $index =>$card) {
  155.                      echo "<img src='/static/common/bj_cards/". $card['suit'] . $card['face'] .".gif' />";
  156.                     }
  157.  
  158.                 } ?>
  159.             </p>
  160.  
  161.             <?php
  162.  
  163.             if($bust) $gameEnd = true;
  164.             if($dealerBust) $gameEnd = true;
  165.  
  166.             if(!$gameEnd) {
  167.             ?>
  168.  
  169.                 <input type='submit' name='submit' value='hit me' />
  170.                 <input type='submit' name='submit' value='stay' /><br/>
  171.                 </form>
  172.  
  173.                 <?php
  174.             } else {
  175.                 $_SESSION['betAmount'] = false;
  176.                 $player = evaluateHand($hand);
  177.                 $dealer = evaluateHand($dealer);
  178.  
  179.                 if(!$bust) {
  180.                     if(!$dealerBust) {
  181.                         if($player > $dealer) $win = 'player'; else $win = 'dealer';
  182.                     } else $win = 'player';
  183.                 } else $win = 'dealer';
  184.  
  185.                 if($win == 'player') {
  186.                     echo "You Win!";
  187.                 } elseif($win == 'dealer') {
  188.                     echo "You Loose!";
  189.                 } else echo "ERROR";
  190.  
  191.                 echo " <a href='bonus.php?action=blackjack'>Prøv Igen?</a>";
  192.             }  
  193.         } else {
  194.             ?>
  195.             Choose your bets:
  196.  
  197.             <form method='post'>
  198.                 <input type='hidden' name='setBet' value='true'>
  199.                 <input type='submit' name='submit' value='10'>
  200.                 <input type='submit' name='submit' value='50'>
  201.                 <input type='submit' name='submit' value='100'>
  202.                 Bones
  203.             </form>
  204.             <?
  205.         }
  206.         ?>
  207.  
  208.     </div>
  209.  
  210. </div>
  211.  
  212. <?
  213. show_footer();
  214. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement