Hit Me!
Codecademy > Code Year > Blackjack Part 2 > Hit Me!
The only accepted answer breaks the Card class because the getters and setters are not accessible as methods of the instantiated object.
HTML
<p id="card1"></p>
<p id="card2"></p>
JavaScript
// Make your card constructor again here, but make sure to use private
// variables!
function Card(s,n) {
var number = n;
var suit = s;
//getters
var getNumber = function(){
return number;
};
var getSuit = function(){
return suit;
};
}
// Make a deal function here. It should return a new card with a suit
// that is a random number from 1 to 4, and a number that is a random
// number between 1 and 13
var deal = function(){
var randNum = Math.floor(Math.random() * 13) + 1;
var randSuit = Math.floor(Math.random() * 4) + 1;
var mycard = new Card(randSuit, randNum);
//the card
return new Card(randSuit, randNum);
};
// examples of the deal function in action
var card1 = deal();
var card2 = deal();
card1Suit = (typeof card1.getSuit == "undefined") ? "undefined" : card1.getSuit();
card1Number = (typeof card1.getNumber == "undefined") ? "undefined" : card1.getNumber();
card2Suit = (typeof card2.getSuit == "undefined") ? "undefined" : card2.getSuit();
card2Number = (typeof card2.getNumber == "undefined") ? "undefined" : card2.getNumber();
p1 = document.getElementById('card1');
p2 = document.getElementById('card2');
p1.innerHTML = "Card 1 suit: " + card1Suit + "<br>Card 1 number: " + card1Number;
p2.innerHTML = "Card 2 suit: " + card2Suit() + "<br>Card 2 number: " + card2Number;