Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //I am struggling to figure out how to print and until then prompt, rather than asking
- //for the extra card before and then printing both lines at the same time.
- var dealer = function (card) {
- card = Math.floor((Math.random()*51+1));
- return card;
- };
- var getType = function (card) {
- if (card >= 1 && card <= 13) {
- card = "Hearts";
- }
- else if (card >= 14 && card <= 26) {
- card = "Diamonds";
- }
- else if (card >= 27 && card <= 39) {
- card = "Clubs";
- }
- else if (card >= 40 && card <= 52) {
- card = "Spades";
- }
- return card;
- };
- var getValue = function (card) {
- remaining = card % 13;
- if (remaining === 11 || remaining === 12 || remaining === 0) {
- card = 10;
- }
- if (((card % 13) === 1)) {
- card = 11;
- }
- else {
- card = card % 13;
- }
- return card;
- };
- var getLetter = function (card) {
- remaining = card % 13;
- switch (remaining) {
- case 1:
- card = "Ace";
- break;
- case 11:
- card = "Jack";
- break;
- case 12:
- card = "Queen";
- break;
- case 0:
- card = "King";
- break;
- default:
- card = remaining ;
- }
- return card;
- };
- var checkIfBlackjack = function (letter1, letter2) {
- if (letter1 === "Ace") {
- if (letter2 === "King" || letter2 === "Queen" || letter2 === "Jack") {
- bjTrigger = 1;
- }
- }
- else if (letter2 === "Ace") {
- if (letter1 === "King" || letter1 === "Queen" || letter1 === "Jack") {
- bjTrigger = 1;
- }
- }
- else {
- bjTrigger = 0;
- }
- return bjTrigger;
- };
- var getStatus = function () {
- checkIfBlackjack(cardLetter1, cardLetter2);
- if (bjTrigger != 1) {
- if (sumOfCards === 21) {
- status = "Limit";
- }
- else if (sumOfCards > 21) {
- status = "OverLimit";
- }
- else {
- status = "Continue";
- }
- }
- else {
- status = "BlackJack";
- }
- return status;
- };
- var getDealerScore = function () {
- dCard1 = getValue(dealer());
- dCard2 = getValue(dealer());
- sumOfDCards = dCard1 + dCard2;
- while (sumOfDCards < 16) {
- sumOfDCards = sumOfDCards + (getValue((dealer())));
- }
- return sumOfDCards;
- };
- var status; //telss the program to keep on running if set to "continue"
- var bjTrigger; // a value of 1 will trigger status = "blackjack"
- var sumOfCards;
- var card1 = dealer();
- var card2 = dealer();
- var cardType1 = getType(card1);
- var cardType2 = getType(card2);
- var cardScore1 = getValue(card1);
- var cardScore2 = getValue(card2);
- var cardLetter1 = getLetter(card1);
- var cardLetter2 = getLetter(card2);
- var dealerHand = getDealerScore();
- sumOfCards = cardScore1 + cardScore2;
- console.log("Your first cards are a " + cardLetter1 +
- " of " + cardType1 + " and a " + cardLetter2 +
- " of " + cardType2 + ". Your score is now " + sumOfCards);
- getStatus();
- console.log(status);
- while (status === "Continue") {
- var userPrompt = prompt("Do you want a new card? - Current Score = " + sumOfCards);
- if (userPrompt === '1') {
- var newCard = dealer();
- var newCardType = getType(newCard);
- var newCardValue = getValue(newCard);
- var newCardLetter = getLetter(newCard);
- sumOfCards = sumOfCards + newCardValue;
- console.log("Your new card is a " + newCardLetter +
- " of " + newCardType + ". Your score is now " + sumOfCards);
- getStatus();
- console.log(status);
- }
- else {
- console.log("You decided not to get more cards, your final score is " +
- sumOfCards);
- break;
- }
- }
- if (sumOfCards > dealerHand && status != "OverLimit") {
- console.log("You won!, the Dealer's total score was " + dealerHand);
- }
- else if (dealerHand > 21) {
- console.log("You won!, the Dealer's total score was " + dealerHand);
- }
- else if (dealerHand >= sumOfCards && dealerHand <= 21){
- console.log("You lost!, the Dealer's total score was " + dealerHand);
- }
- else {
- console.log(dealerHand);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement