Blackjack
Stack overflow forum
/*Object Oriented Blackjack
A Game has: Players
Dealer
Deck
A Player / Dealer has: Score
Cards
A Score has: Game Logic
Current Score
A Deck has: Cards
*/
function Game() {
this.currentTurnIndex = 0;
this.deck = new Deck();
}
function Deck() {
this.cards = [];
this.cardsDrawn = 0;
var suits = ['spades', 'diamonds', 'hearts', 'clubs'];
var names = ['ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'jack', 'queen', 'king'];
for (var suit in suits) {
for (var name in names) {
this.cards.push(new Card(names[name], suits[suit]));
}
}
}
Deck.prototype.getCard = function () {
if (this.cards.length this.cardsDrawn) {
return null;
} //case: check if all cards drawn
var random = Math.floor(Math.random() * (this.cards.length - this.cardsDrawn));
var temp = this.cards[random];
//swap chosen card with card last in array
this.cards[random] = this.cards[this.cards.length - this.cardsDrawn - 1];
this.cards[this.cards.length - this.cardsDrawn - 1] = temp;
this.cardsDrawn++;
return temp;
};
function Card(name, suit) {
this.name = name;
this.suit = suit;
}
Card.prototype.image = function () {
return 'http://www.jonarnaldo.com/sandbox/deck_images/' + name + '_of_' + suit + '.png';
};
Card.prototype.value = function () {
if (this.name 'jack' 'queen' 'king') {
return [10];
} else if (this.name 'ace') {
return [1, 11];
} else {
return parseInt(this.name, 10);
}
};
function Player() {
//this.name;
this.cards = [];
}
Player.prototype.addCard = function () {
this.cards.push(deck.getCard());
};
Player.prototype.score = function () {
var score = 0;
var aces = [];
for (var i = 0; i < this.cards.length; i++) {
var value = this.cards[i].value() // value array ex.[10]
if (value.length 1) {
score += value[0];
} else {
aces.push(value);
}
}
for (var j = 0; j < aces.length; j++) {
if (score + aces[j].value[1] <= 21) {
score + aces[j].value[1];
} else {
score + aces[j].value[0];
}
}
return score;
};
var deck = new Deck();
var player1 = new Player();
$('#getCard').click(function () {
player1.addCard();
var cardName = player1.cards[player1.cards.length-1].name;
var cardSuit = player1.cards[player1.cards.length-1].suit;
$('#table').append(cardName + cardSuit);
});
Forum

commented Jun 13, 2017

Download

Blackjack Javascript Stack Overflow Valve

Stack Exchange network consists of 176 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn. What would be the best way to organize BlackJack in JavaScript and maybe start with blank slate? Specific areas: Updating UI.

  • Stack Overflow Trends See how technologies have trended over time based on use of their tags since 2008, when Stack Overflow was founded. Enter up to 15 tags to compare growth and decline.
  • Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.

My coding bootcamp is making me code a Blackjack Hand Calculator. I have to turn it in soon. I'm failing. JavaScipt is fking me.

Stack overflow forum

Blackjack Javascript Stack Overflow Tutorial

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Coments are closed
Scroll to top