Blackjack Javascript Stack Overflow
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor. Apparently, this user prefers to keep an air of mystery about them. Member for 3 years, 6 months. 5 profile views. Last seen Sep 9 at 11:36. Communities (66) Stack Overflow 3.8k 3.8k 1 1 gold badge 16 16 silver badges 21 21 bronze badges; Graphic Design 241 241 2 2 silver badges 4 4 bronze.
- Google Stack Overflow
- Regex Validation Javascript Stack Overflow
- Blackjack Javascript Stack Overflow Commands
- Stack Overflow Forum
- Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
- Black jack game in javascript. Contribute to Oli8/BlackJackJs development by creating an account on GitHub.
/*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); |
}); |
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. |
Get direct access to the minds of the
smartest tech professionals on earth.
Membership Includes:
01
A seat at the table in discussions that includes the top technology experts in their fields.
02
Access to 3.9 million tech solutions and the ability to ask unlimited questions of your own.
03
Exclusive industry content — custom catered to your tech goals and interests.
Become the tech rockstar
you've always wanted to be.
Google Stack Overflow
Access 20+ years of solutions and
thousands of years of experience.
Work Smarter.
We’ve been building a library of over 3.9 million solutions since 1996.
Our goal has always been to not only solve your problem, but to help you understand why in the first place.
Ad-Free. Always.
You’ll never find an advertisement on our site; we’re proud to offer a completely unbiased experience.
Our experts aren’t call-center reps; they’re tech veterans with a passion for solving complex issues.
What do you geek over?
From databases to DevOps, to Python and PowerPoint, we support over 230 tech topics, so you’ll always know where to look.
Exchange
JavaScript
Oracle
Office
Linux
VMware
Cisco
Citrix
WordPress
Creative Suite
Trusted by over 4,000,000 tech professionals worldwide
Meet Our Experts
Our Certified Experts started where you are. Now they’re some of the most influential minds in technology.
Yolanda Cuesta
Economist
Yolanda works for the University of Valladolid in administration and enterprise finance management where she utilizes her Business, Accounting, and Microsoft Excel skills. She is a five time Microsoft MVP who loves teaching and training others in her filed of expertise.
Yolanda works for the University of Valladolid in administration and enterprise finance management where she utilizes her Business, Accounting, and Microsoft Excel skills. She is a five time Microsoft MVP who loves teaching and training others in her filed of expertise.
Yolanda Cuesta
Economist
Sam Jacobs
Director of TechDev Services
Regex Validation Javascript Stack Overflow
Julian Hansen
Blackjack Javascript Stack Overflow Commands
IT Consultant and Business Owner
Muneeb Imran Shaikh
Sr Information Security Consultant
Stuart Scott
AWS Content & Security Lead
Stack Overflow Forum
Fadi Sodah
Executive IT Director
Having a team of experts to provide guidance is an immeasurable asset for small offices such as myself. When I worked for larger companies it was easy enough to ask over the top of the cubicle wall for input. I think that EE is just like that!
Experts Exchange is some of the best money I spend each month.
I became a better programmer with EE because I don't just get the WHAT, I get the WHY! That's how you grow in the midst of the challenges you face and that's part of what EE offers!
As a student many years back. I used Experts Exchange much like someone would use a distance learning tutor. It was money well spent.
Here’s to your journey to expertise!
Get 7 days access to Experts Exchange completely free.