34 lines
749 B
TypeScript
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()
|
|
)
|
|
}
|