-
Notifications
You must be signed in to change notification settings - Fork 5
/
solitaireGameType.model.ts
70 lines (66 loc) · 2.99 KB
/
solitaireGameType.model.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { BaseGameType } from './gameType.model';
import { ICard } from '../card/card.interface';
import { AceLowRankSet } from '../card/aceLowRankSet.model';
import { PlayingCard } from '../card/playingCard.model';
import { CardName } from '../card/cardName.model';
import { Suit } from '../card/suit.model';
/**
* GameType with Solitaire configuration
*/
export class SolitaireGameType extends BaseGameType {
public rankSet = new AceLowRankSet();
public cardsAllowed: ICard[] = [
new PlayingCard(CardName.Ace, Suit.Clubs),
new PlayingCard(CardName.Two, Suit.Clubs),
new PlayingCard(CardName.Three, Suit.Clubs),
new PlayingCard(CardName.Four, Suit.Clubs),
new PlayingCard(CardName.Five, Suit.Clubs),
new PlayingCard(CardName.Six, Suit.Clubs),
new PlayingCard(CardName.Seven, Suit.Clubs),
new PlayingCard(CardName.Eight, Suit.Clubs),
new PlayingCard(CardName.Nine, Suit.Clubs),
new PlayingCard(CardName.Ten, Suit.Clubs),
new PlayingCard(CardName.Jack, Suit.Clubs),
new PlayingCard(CardName.Queen, Suit.Clubs),
new PlayingCard(CardName.King, Suit.Clubs),
new PlayingCard(CardName.Ace, Suit.Spades),
new PlayingCard(CardName.Two, Suit.Spades),
new PlayingCard(CardName.Three, Suit.Spades),
new PlayingCard(CardName.Four, Suit.Spades),
new PlayingCard(CardName.Five, Suit.Spades),
new PlayingCard(CardName.Six, Suit.Spades),
new PlayingCard(CardName.Seven, Suit.Spades),
new PlayingCard(CardName.Eight, Suit.Spades),
new PlayingCard(CardName.Nine, Suit.Spades),
new PlayingCard(CardName.Ten, Suit.Spades),
new PlayingCard(CardName.Jack, Suit.Spades),
new PlayingCard(CardName.Queen, Suit.Spades),
new PlayingCard(CardName.King, Suit.Spades),
new PlayingCard(CardName.Ace, Suit.Diamonds),
new PlayingCard(CardName.Two, Suit.Diamonds),
new PlayingCard(CardName.Three, Suit.Diamonds),
new PlayingCard(CardName.Four, Suit.Diamonds),
new PlayingCard(CardName.Five, Suit.Diamonds),
new PlayingCard(CardName.Six, Suit.Diamonds),
new PlayingCard(CardName.Seven, Suit.Diamonds),
new PlayingCard(CardName.Eight, Suit.Diamonds),
new PlayingCard(CardName.Nine, Suit.Diamonds),
new PlayingCard(CardName.Ten, Suit.Diamonds),
new PlayingCard(CardName.Jack, Suit.Diamonds),
new PlayingCard(CardName.Queen, Suit.Diamonds),
new PlayingCard(CardName.King, Suit.Diamonds),
new PlayingCard(CardName.Ace, Suit.Hearts),
new PlayingCard(CardName.Two, Suit.Hearts),
new PlayingCard(CardName.Three, Suit.Hearts),
new PlayingCard(CardName.Four, Suit.Hearts),
new PlayingCard(CardName.Five, Suit.Hearts),
new PlayingCard(CardName.Six, Suit.Hearts),
new PlayingCard(CardName.Seven, Suit.Hearts),
new PlayingCard(CardName.Eight, Suit.Hearts),
new PlayingCard(CardName.Nine, Suit.Hearts),
new PlayingCard(CardName.Ten, Suit.Hearts),
new PlayingCard(CardName.Jack, Suit.Hearts),
new PlayingCard(CardName.Queen, Suit.Hearts),
new PlayingCard(CardName.King, Suit.Hearts)
];
}