Advertisement
Guest User

Untitled

a guest
Apr 28th, 2013
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <html>
  2. <head>
  3.     <title> Blackjack </title>
  4.     <style type="text/css"></style>
  5.     <script type="text/javascript">
  6. var playerIndex = new Array();
  7. var playerHand = new Array();
  8. var playerHandSuit = new Array();
  9. var dealerHand = new Array();
  10. var dealerHandSuit = new Array();
  11. var playerHandValueHard = 0;
  12. var playerHandValueSoft = 0;
  13. var dealerHandValueHard = 0;
  14. var dealerHandValueSoft =0;
  15. var playerCardNumber = 0;
  16. var playerNumber = 0;
  17. var numberOfPlayers = 1;
  18. var stillin = true;
  19. var winner = 0;
  20.  
  21. function gameStart()
  22. {
  23.     playerNumber = 0;
  24.     playerStart();
  25.     document.getElementById("Controls").innerHTML = "<input type = 'button' value = 'hit' onclick = 'playerHit()'/> <input type = 'button' value = 'stick' onclick = 'stick()'/>";
  26. }
  27.  
  28. function playerStart()
  29. {
  30.     var c=0;
  31.     while(c<2)
  32.     {
  33.         playerHit();
  34.         c = c+1;
  35.     }
  36. }
  37.  
  38. function dealer()
  39. {
  40.     victoryCheck();
  41.     while(dealerHandValueHard < 16 )
  42.     {
  43.         dealerHit();
  44.     }
  45.     victoryCheck();
  46. }
  47.  
  48. function victoryCheck()
  49. {
  50.     var x;
  51.     var c = 0;
  52.     var i;
  53.     var whoWon = new Array();
  54.     var whoTied = new Array();
  55.     for(i in playerIndex)
  56.     {
  57.         x = playerIndex[i];
  58.         if(x[5])
  59.         {
  60.             c = 1;
  61.         }
  62.     }
  63.     if (c === 0)
  64.     {
  65.         alert("Dealer wins.");
  66.     }
  67.     var k = 0;
  68.     var kc = 0;
  69.  
  70.     for(i in playerIndex)
  71.     {
  72.         x = playerIndex[i];
  73.         if( (x[4] > dealerHandValueHard && x[4] > dealerHandValueSoft) || (x[5] > dealerHandValueHard && x[5] > dealerHandValueSoft) )  
  74.         {
  75.             whoWon[k] = i;
  76.             k = k+1;
  77.         }
  78.         else if ( (x[5] >= dealerHandValueHard && x[5] == dealerHandValueSoft) || (x[5] >= dealerHandValueHard && x[5] == dealerHandValueSoft) )
  79.         {
  80.             whoTied[kc] = i;
  81.             kc = kc +1;
  82.         }
  83.     }
  84.     for (i in whoWon)
  85.     {
  86.         alert("Player " + (whoWon[i]+1) + "wins!");
  87.     }
  88.     for (i in whoTied)
  89.     {
  90.         alert("Player " + (whoTied[i]+1) + "wins!");
  91.     }
  92. }
  93.  
  94. function stick()
  95. {
  96.     playerIndex[playerNumber] = [playerHand, playerHandSuit, playerCardNumber, playerHandValueHard, playerHandValueSoft, stillin, winner];
  97.     playerNumber = playerNumber + 1;
  98.     if(playerNumber >= numberOfPlayers)
  99.     {
  100.         dealer();
  101.     }
  102.     else
  103.     {
  104.         playerHandValueHard = 0;
  105.         playerHandValueSoft = 0;
  106.         playerCardNumber = 0;
  107.         playerHand = new Array();
  108.         playerHandSuit = new Array();
  109.         playerStart();
  110.     }
  111. }
  112.  
  113. function dealerHit()
  114. {
  115.     playerCardNumber = playerCardNumber + 1;
  116.     var suit = randSuit();
  117.     var card = randomCard();
  118.     dealerHand[playerCardNumber] = card[0];
  119.     dealerHandSuit[playerCardNumber] = suit;
  120.     dealerHandValueHard = playerHandValueHard + card[1];
  121.     dealerHandValueSoft = playerHandValueSoft + card[2];
  122. }
  123.  
  124. function playerHit()
  125. {
  126.     playerCardNumber = playerCardNumber + 1;
  127.     var suit = randSuit();
  128.     var card = randomCard();
  129.     playerHand[playerCardNumber] = card[0];
  130.     playerHandSuit[playerCardNumber] = suit;
  131.     playerHandValueHard = playerHandValueHard + card[1];
  132.     playerHandValueSoft = playerHandValueSoft + card[2];
  133.     stillin = bustCheck(playerHandValueHard,1);
  134.     updateHand();
  135.     if(stillin)
  136.     {
  137.         stick();
  138.     }
  139. }
  140.  
  141. function updateHand()
  142. {
  143.     var b;
  144.     var i;
  145.     for (i in playerHand)
  146.     {
  147.         b = b + ' ' + playerHand[i];
  148.     }
  149.     if (playerHandValueHard != playerHandValueSoft)
  150.     {
  151.             document.getElementById("activePlayerHand").innerHTML = "Player Hand <br />" + b + "<br /> Play Hand value" + playerHandValueHard + "/" + playerHandValueSoft;
  152.     }
  153.     else
  154.     {
  155.             document.getElementById("activePlayerHand").innerHTML = "Player Hand <br />" + b + "<br /> Play Hand value" + playerHandValueHard;
  156.     }
  157. }
  158.  
  159. function bustCheck(x, p)
  160. {
  161.     if(x>21)
  162.     {
  163.         if(p == 1)
  164.         {
  165.             alert("Over twenty-one!");
  166.         }
  167.         else
  168.         {
  169.             alert("Everybody wins!");
  170.         }
  171.         return false;
  172.     }
  173.     else
  174.     {
  175.         return true;
  176.     }
  177. }
  178.  
  179. function randSuit()
  180. {
  181.     var suit;
  182.     rand = random(0,3);
  183.     switch(rand){
  184.         case 0:
  185.             suit = "Hearts";
  186.             break;
  187.         case 1:
  188.             suit = "Spades";
  189.             break;
  190.         case 2:
  191.             suit = "Diamonds";
  192.             break;
  193.         case 3:
  194.             suit = "Clubs";
  195.             break;
  196.         default:
  197.             alert("Error!");
  198.     }
  199.     return suit;
  200. }
  201.  
  202. function randomCard()
  203. {
  204.     var cardArray = new Array();
  205.     var randCard = random(1,13);
  206.     switch(randCard){
  207.         case 1:
  208.             cardArray[0] = "A";
  209.             cardArray[1] = 1;
  210.             cardArray[2] = 11;
  211.             break;
  212.         case 11:
  213.             cardArray[0] = "J";
  214.             cardArray[1] = 10;
  215.             cardArray[2] = 10;
  216.             break;
  217.         case 12:
  218.             cardArray[0] = "Q";
  219.             cardArray[1] = 10;
  220.             cardArray[2] = 10;
  221.             break;
  222.         case 13:
  223.             cardArray[0] = "K";
  224.             cardArray[1] = 10;
  225.             cardArray[2] = 10;
  226.             break;
  227.         default:
  228.             cardArray[0] = randCard;
  229.             cardArray[1] = randCard;
  230.             cardArray[2] = randCard;
  231.     }
  232.     return cardArray;
  233. }
  234.  
  235. function random(x,y)
  236. {
  237.     return Math.floor(Math.random()* (y-x+1)) + x;
  238. }
  239.  
  240.     </script>
  241. </head>
  242. <body>
  243.     <div id="Main">
  244.     <p> Welcome to Blackjack. </p>
  245.     <div id="dealerHand"></div>
  246.     <div id="activePlayerHand"> No active players.</div>
  247.     <div id="Controls">
  248.         <input type='button' value='start' onclick='gameStart()'/>
  249.     </div>
  250.     </div>
  251. </body>
  252. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement