cards/decks/standard52.ts
2026-01-16 21:14:50 -07:00

34 lines
749 B
TypeScript

import Card from '../card'
import { Index, Suit } from '../card'
import Pile from '../pile'
import { arrayOfLength } from '../utils'
export default () => {
const indexes = [
Index.One,
Index.Two,
Index.Three,
Index.Four,
Index.Five,
Index.Six,
Index.Seven,
Index.Eight,
Index.Nine,
Index.Ten,
Index.Jack,
Index.Queen,
Index.King,
Index.Ace
]
const suits = [Suit.Diamond, Suit.Club, Suit.Heart, Suit.Spade]
const baseIndexCards = 1
const baseIndexSuits = 0
return new Pile(
arrayOfLength(indexes.length).map(index => {
return arrayOfLength(suits.length).map(suit => {
return (new Card(index + baseIndexCards, suit + baseIndexSuits))
})
}).flat()
)
}