Advertisement
daniel_c05

BlackJack_WIP

Feb 3rd, 2012
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //I am struggling to figure out how to print and until then prompt, rather than asking
  2. //for the extra card before and then printing both lines at the same time.
  3.  
  4. var dealer = function (card) {
  5.     card = Math.floor((Math.random()*51+1));
  6.     return card;
  7. };
  8.  
  9. var getType = function (card) {
  10.     if (card >= 1 && card <= 13) {
  11.         card  = "Hearts";
  12.     }
  13.     else if (card >= 14 && card <= 26) {
  14.         card = "Diamonds";
  15.     }
  16.     else if (card >= 27 && card <= 39) {
  17.         card = "Clubs";
  18.     }
  19.     else if (card >= 40 && card <= 52) {
  20.         card = "Spades";
  21.     }
  22.     return card;
  23. };
  24.  
  25. var getValue = function (card) {
  26.     remaining = card % 13;
  27.     if (remaining === 11 || remaining === 12 || remaining === 0) {
  28.         card = 10;
  29.     }
  30.     if (((card % 13) === 1)) {
  31.         card = 11;
  32.     }
  33.     else {
  34.         card = card % 13;
  35.     }  
  36.     return card;
  37. };
  38.  
  39. var getLetter = function (card) {
  40.     remaining = card % 13;
  41.     switch (remaining) {
  42.         case 1:
  43.             card = "Ace";
  44.             break;
  45.         case 11:
  46.             card = "Jack";
  47.             break;
  48.         case 12:
  49.             card = "Queen";
  50.             break;
  51.         case 0:
  52.             card = "King";
  53.             break;
  54.         default:
  55.             card = remaining ;
  56.         }
  57.         return card;
  58. };
  59.  
  60. var checkIfBlackjack = function (letter1, letter2) {
  61.    if (letter1 === "Ace") {
  62.     if (letter2 === "King" || letter2 === "Queen" || letter2 === "Jack") {
  63.     bjTrigger = 1;
  64.     }
  65. }
  66.    else if (letter2 === "Ace") {
  67.     if (letter1 === "King" || letter1 === "Queen" || letter1 === "Jack") {
  68.     bjTrigger = 1;
  69.     }
  70. }
  71.     else {
  72.         bjTrigger = 0;
  73.     }
  74. return bjTrigger;
  75. };
  76.  
  77. var getStatus = function () {
  78. checkIfBlackjack(cardLetter1, cardLetter2);
  79. if (bjTrigger != 1) {
  80.     if (sumOfCards === 21) {
  81.     status = "Limit";
  82. }
  83.     else if (sumOfCards > 21) {
  84.     status = "OverLimit";
  85. }
  86.     else {
  87.     status = "Continue";
  88. }
  89. }
  90. else {
  91.     status = "BlackJack";
  92. }
  93. return status;
  94. };
  95.  
  96. var getDealerScore = function () {
  97.     dCard1 = getValue(dealer());
  98.     dCard2 = getValue(dealer());
  99.     sumOfDCards = dCard1 + dCard2;
  100.     while (sumOfDCards < 16) {
  101.         sumOfDCards = sumOfDCards + (getValue((dealer())));
  102.     }
  103.     return sumOfDCards;
  104. };
  105.  
  106. var status;     //telss the program to keep on running if set to "continue"
  107. var bjTrigger;  // a value of 1 will trigger status = "blackjack"
  108. var sumOfCards;
  109. var card1 = dealer();
  110. var card2 = dealer();
  111. var cardType1 = getType(card1);
  112. var cardType2 = getType(card2);
  113. var cardScore1 = getValue(card1);
  114. var cardScore2 = getValue(card2);
  115. var cardLetter1 = getLetter(card1);
  116. var cardLetter2 = getLetter(card2);
  117. var dealerHand = getDealerScore();
  118.  
  119. sumOfCards = cardScore1 + cardScore2;
  120.  
  121. console.log("Your first cards are a " + cardLetter1 +
  122.             " of " + cardType1 + " and a " + cardLetter2 +
  123.             " of " + cardType2 + ". Your score is now " + sumOfCards);
  124. getStatus();
  125. console.log(status);
  126.  
  127. while (status === "Continue") {
  128. var userPrompt = prompt("Do you want a new card? - Current Score = " + sumOfCards);
  129.     if (userPrompt === '1') {
  130.         var newCard = dealer();
  131.         var newCardType = getType(newCard);
  132.         var newCardValue = getValue(newCard);
  133.         var newCardLetter = getLetter(newCard);    
  134.         sumOfCards = sumOfCards + newCardValue;
  135.         console.log("Your new card is a " + newCardLetter +
  136.         " of " + newCardType + ". Your score is now " + sumOfCards);
  137.         getStatus();
  138.         console.log(status);
  139.     }
  140.     else {
  141.         console.log("You decided not to get more cards, your final score is " +
  142.         sumOfCards);
  143.         break;
  144.     }
  145. }
  146.  
  147. if (sumOfCards > dealerHand && status != "OverLimit") {
  148.     console.log("You won!, the Dealer's total score was " + dealerHand);
  149. }
  150. else if (dealerHand > 21) {
  151.     console.log("You won!, the Dealer's total score was " + dealerHand);
  152. }
  153. else if (dealerHand >= sumOfCards && dealerHand <= 21){
  154.     console.log("You lost!, the Dealer's total score was " + dealerHand);
  155. }
  156. else {
  157.     console.log(dealerHand);
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement