Blackjack Javascript Stack Overflow
by admin
Blackjack Javascript Stack Overflow 4,1/5 492 votes
Stack Exchange network consists of 176 Q&A communities including Stack Overflow, the largest. Simple Blackjack game using JavaScript and jQuery. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. Learn more Blackjack javascript game infinite loop.
Blackjack
| /*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); |
| }); |

Download Stack Overflow
commented Jun 13, 2017
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. |
Error Node Stack Overflow
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment