card-deck.js
Version:
Card Deck Simulator for Javascript
41 lines • 1.38 kB
JavaScript
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
var cards_1 = require("./cards");
var CardDeck = /** @class */ (function () {
function CardDeck() {
this.deck = cards_1.generateNewDeck();
this.shuffle();
}
CardDeck.prototype.shuffle = function () {
var _a;
var a = this.deck;
for (var i = a.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
_a = [a[j], a[i]], a[i] = _a[0], a[j] = _a[1];
}
this.deck = __spreadArrays(a);
};
CardDeck.prototype.getCards = function (count) {
if (count === void 0) { count = 1; }
if (this.deck.length && this.deck.length >= count) {
var i = 0;
var cards = [];
while (i < count) {
cards.push(this.deck.shift());
i++;
}
return cards;
}
return [];
};
return CardDeck;
}());
exports.CardDeck = CardDeck;
//# sourceMappingURL=card-deck.js.map
;