Skip to content

Instantly share code, notes, and snippets.

@scneptune
Created November 4, 2013 15:29
Show Gist options
  • Save scneptune/7304239 to your computer and use it in GitHub Desktop.
Save scneptune/7304239 to your computer and use it in GitHub Desktop.
The Codecademy Final Blackjack game
// Card Constructor
var Card = function(suit, num){
getNumber = function(num){
return num;
},
getSuit = function(suit){
return suit;
},
getValue = function(num){
var value;
if (num > 10){
var value = 10;
} else if (num === 1){
var value = 11;
} else {
var value = num;
}
return value;
};
};
var deal = function(){
ranSuit = Math.floor(Math.random * 4);
ranNum = Math.floor(Math.random * 13);
var ranCard = new Card(ranSuit, ranNum);
};
function Hand(){
var card1 = deal();
var card2 = deal();
var arrayHand = [];
arrayHand.push(card1);
arrayHand.push(card2);
this.getHand = function(){
return arrayHand;
};
this.score = function(){
var sum = 0;
var acesProb = 0;
for(var i = 0; i < arrayHand.length; i++){
sum = sum + arrayHand[i].getValue();
}
if(sum > 21) {
if(arrayHand[i].getValue === 11) {
sum = sum - 10;
} else {
return sum;
}
} else {
return sum;
}
};
this.printHand = function(){
var string = 0;
for(var j = 0; j < arrayHand.length; j++){
string = string + Card.getNumber() + "of suit" + Card.getSuit();
}
return string;
};
this.hitMe = function(){
var card3 = deal();
arrayHand.push(card3);
};
}
var playAsDealer = function(){
var dealerHand = new Hand();
while( dealerHand.score()<17 ){
dealerHand.hitMe();
}
return dealerHand;
};
var playAsUser = function() {
var userHand = new Hand();
var decision = confirm("Your hand is "+ hand.printHand() + ": Hit OK to hit (take another card) or Cancel to stand");
while(decision) {
userHand.hitMe();
}
};
var declareWinner = function(userHand, dealerHand) {
if (userHand.score() > 21) {
if (dealerHand.score() > 21) {
return 'You tied!';
} else {
return 'You win!';
}
} else {
return 'You lose!';
}
};
var playGame = function() {
userHand = playAsUser();
dealerHand = playAsDealer();
var result = declareWinner(userHand, dealerHand);
console.log(result);
}
playGame();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment