Advertisement
Guest User

Untitled

a guest
Jul 7th, 2012
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Card(suit, number) {
  2.     var suit = suit;
  3.     var number = number;
  4.    
  5.     this.getNumber = function() {
  6.         return number;
  7.     }
  8.  
  9.     this.getSuit = function() {
  10.         return suit;
  11.     }
  12.    
  13.     this.getValue = function() {
  14.         if (number == 1) {
  15.             return 11;
  16.         } else if (number > 10) {
  17.             return 10;
  18.         } else {
  19.             return number;
  20.         }
  21.     }
  22. }
  23.  
  24. function Hand() {
  25.     var hand = [deal(), deal()];
  26.    
  27.     this.getHand = function() {
  28.         return hand;
  29.     }
  30.    
  31.     this.hitMe = function() {
  32.         hand.push(deal());
  33.     }
  34.    
  35.     this.printHand = function() {
  36.         var string = "";
  37.         for (var i = 0; i < hand.length; i++) {
  38.             string += hand[i].getNumber() + " of suit " + hand[i].getSuit();
  39.             if (i < (hand.length - 1)) {
  40.                 string += ", ";
  41.             }
  42.         }
  43.         return string;
  44.     }
  45.    
  46.     this.score = function() {
  47.         var aces = 0;
  48.         var sum = 0;
  49.         for (var i = 0; i < hand.length; i++) {
  50.             sum += hand[i].getValue();
  51.             if (hand[i].getValue() == 11) {
  52.                 aces++;
  53.             }
  54.         }
  55.         while (aces > 0 && sum > 21) {
  56.             aces--;
  57.             sum -= 10;
  58.         }
  59.         return sum;
  60.     }
  61. }
  62.  
  63. function deal() {
  64.     var suit = Math.floor(Math.random( ) * 4 + 1);
  65.     var number = Math.floor(Math.random( ) * 13 + 1);
  66.     return new Card(suit, number);
  67. }
  68.  
  69. function playAsDealer() {
  70.     var hand = new Hand();
  71.     while (hand.score() < 17) {
  72.         hand.hitMe();
  73.     }
  74.     return hand;
  75. }
  76.  
  77. function playAsUser() {
  78.     var hand = new Hand();
  79.     var decision = confirm("Your hand is "+ hand.printHand() + ": Hit OK to hit (take another card) or Cancel to stand");
  80.     while(decision) {
  81.         hand.hitMe();
  82.         decision = confirm("Your hand is "+ hand.printHand() + ": Hit OK to hit (take another card) or Cancel to stand");
  83.     }
  84.     return hand;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement