UNPKG

card-factory

Version:

A comprehensive library for card manipulation

63 lines (62 loc) 1.51 kB
import Card from "../card"; /** * @props suit, symbol, number, value, color * @methods updateValue(newValue) */ export default class PlayingCard extends Card { suit; symbol; number; value; color; constructor(number, suit, value = 0) { super(); this.suit = suit; this.number = number; this.value = value; // Set value based on number this.value = this.getCardValue(number); // Set symbol & color based on suit this.symbol = this.getCardSymbol(suit); this.color = this.getCardColor(suit); } getCardValue(number) { switch (number) { case "A": return 1; case "J": return 11; case "Q": return 12; case "K": return 13; case "joker": return 100; default: return parseInt(number); } } getCardSymbol(suit) { const symbols = { spade: "♠", diamond: "♦", club: "♣", heart: "♥", joker: "joker", }; return symbols[suit]; } getCardColor(suit) { const colors = { spade: "black", club: "black", diamond: "red", heart: "red", joker: "joker", }; return colors[suit]; } updateValue = (newValue) => { this.value = newValue; }; }