dominion-0.1.0.2: A simulator for the board game Dominion.

Safe HaskellNone

Dominion.Cards.Original

Synopsis

Documentation

Playing a card is easy:

 playerId `plays` adventurer

cellar :: CardSource

 playerId `plays` cellar `with` (Cellar [list of cards to discard])

chapel :: CardSource

 playerId `plays` chapel `with` (Chapel [list of cards to trash])

feast :: CardSource

To gain a market, for example:

 playerId `plays` feast `with` (Feast market)

mine :: CardSource

 playerId `plays` mine `with` (Mine copper)

remodel :: CardSource

To turn a gold into a province:

 playerId `plays` remodel `with` (Remodel (gold, province))

spy :: CardSource

The Spy FollowupAction takes two lists: a list of cards you would discard for yourself, and a list of cards you would discard for others:

 playerId `plays` spy `with` ([estate, duchy, province], [silver, gold])

thief :: CardSource

You need to provide a function that takes a list of treasure cards and picks one to trash. You can either return a TrashOnly to trash the card, or a GainTrashedCard to put it into your discard pile.

 playerId `plays` thief `with` (Thief (GainTrashedCard . sortBy (comparing coinValue)))

throneRoom :: CardSource

 playerId `plays` throneRoom `with` (ThroneRoom market)

workshop :: CardSource

 playerId `plays` workshop `with` (Workshop gardens)