UNPKG

d-bot

Version:

A quirky Discord bot made for single, small, private servers

58 lines (49 loc) 1.48 kB
// Check the deck, y'all! Press eject, y'all! var util = require(__base+'core/util.js'); var storage = require(__base+'core/storage.js'); const stats = storage.json('stats', { decks: 0, dealt: {} }, '\t' ); CARDS = {}; ['spades', 'diamonds', 'clubs', 'hearts'].forEach(suit => { let s = suit[0]; for(let i = 2; i <= 10; i++) { CARDS[s + i] = { suit, number: i, shortName: '' + i, fullName: i + ' of ' + suit } } ['jack', 'queen', 'king', 'ace'].forEach(face => { let f = face[0]; CARDS[s + f] = { suit, number: f, shortName: util.capitalize(face), fullName: face + ' of ' + suit } }); }); function Deck(cards) { if(!cards) stats.set('decks', stats.get('decks') + 1); this.cards = cards || Object.keys(CARDS); } Deck.prototype.draw = function(card) { if(card) return this.cards.splice(this.cards.indexOf(card), 1); card = this.cards.pop(); stats.get('dealt')[card] = (stats.get('dealt')[card] || 0) + 1; stats.save(); return card; }; Deck.prototype.shuffle = function() { let shuffled = []; while(this.cards.length > 0) shuffled.push(util.pickInArray(this.cards, true)); this.cards = shuffled; }; Deck.prototype.card = card => CARDS[card]; Deck.card = card => CARDS[card]; module.exports = Deck;