dovin-3.0.1: A proof assistant for Magic: The Gathering puzzles.
Safe HaskellNone
LanguageHaskell2010

Dovin.Types

Synopsis

Documentation

data Color Source #

Constructors

Red 
Green 
Blue 
Black 
White 

Instances

Instances details
Eq Color Source # 
Instance details

Defined in Dovin.Types

Methods

(==) :: Color -> Color -> Bool #

(/=) :: Color -> Color -> Bool #

Ord Color Source # 
Instance details

Defined in Dovin.Types

Methods

compare :: Color -> Color -> Ordering #

(<) :: Color -> Color -> Bool #

(<=) :: Color -> Color -> Bool #

(>) :: Color -> Color -> Bool #

(>=) :: Color -> Color -> Bool #

max :: Color -> Color -> Color #

min :: Color -> Color -> Color #

Show Color Source # 
Instance details

Defined in Dovin.Types

Methods

showsPrec :: Int -> Color -> ShowS #

show :: Color -> String #

showList :: [Color] -> ShowS #

data Player Source #

Constructors

Active 
Opponent 

Instances

Instances details
Eq Player Source # 
Instance details

Defined in Dovin.Types

Methods

(==) :: Player -> Player -> Bool #

(/=) :: Player -> Player -> Bool #

Ord Player Source # 
Instance details

Defined in Dovin.Types

Show Player Source # 
Instance details

Defined in Dovin.Types

Generic Player Source # 
Instance details

Defined in Dovin.Types

Associated Types

type Rep Player :: Type -> Type #

Methods

from :: Player -> Rep Player x #

to :: Rep Player x -> Player #

Hashable Player Source # 
Instance details

Defined in Dovin.Types

Methods

hashWithSalt :: Int -> Player -> Int #

hash :: Player -> Int #

type Rep Player Source # 
Instance details

Defined in Dovin.Types

type Rep Player = D1 ('MetaData "Player" "Dovin.Types" "dovin-3.0.1-IFqEYjMDOrX6yiKW5Gzbyz" 'False) (C1 ('MetaCons "Active" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Opponent" 'PrefixI 'False) (U1 :: Type -> Type))

data Location Source #

Constructors

Hand 
Graveyard 
Play 
Stack 
Exile 
Deck 

Instances

Instances details
Eq Location Source # 
Instance details

Defined in Dovin.Types

Ord Location Source # 
Instance details

Defined in Dovin.Types

Show Location Source # 
Instance details

Defined in Dovin.Types

data Layer Source #

Constructors

Layer1A

Copiable effects

Layer1B

Face down spells and permanents

Layer2

Control-changing effects

Layer3

Text changing effects

Layer4

Type changing effects

Layer5

Color changing effects

Layer6

Ability changing effects

Layer7A

P/T from CDAs

Layer7B

P/T from setting

Layer7C

P/T adjustments (inc. counters)

Layer7D

P/T Switching

LayerOther

Other game rule affecting effects

Instances

Instances details
Bounded Layer Source # 
Instance details

Defined in Dovin.Types

Enum Layer Source # 
Instance details

Defined in Dovin.Types

Eq Layer Source # 
Instance details

Defined in Dovin.Types

Methods

(==) :: Layer -> Layer -> Bool #

(/=) :: Layer -> Layer -> Bool #

Ord Layer Source # 
Instance details

Defined in Dovin.Types

Methods

compare :: Layer -> Layer -> Ordering #

(<) :: Layer -> Layer -> Bool #

(<=) :: Layer -> Layer -> Bool #

(>) :: Layer -> Layer -> Bool #

(>=) :: Layer -> Layer -> Bool #

max :: Layer -> Layer -> Layer #

min :: Layer -> Layer -> Layer #

Show Layer Source # 
Instance details

Defined in Dovin.Types

Methods

showsPrec :: Int -> Layer -> ShowS #

show :: Layer -> String #

showList :: [Layer] -> ShowS #

data LayeredEffectDefinition Source #

Constructors

LayeredEffectDefinition 

Fields

data Target Source #

Constructors

TargetPlayer Player

Target a player, use targetPlayer to construct.

TargetCard CardName

Target a card, use targetCard to construct.

Instances

Instances details
Eq Target Source # 
Instance details

Defined in Dovin.Types

Methods

(==) :: Target -> Target -> Bool #

(/=) :: Target -> Target -> Bool #

Show Target Source # 
Instance details

Defined in Dovin.Types

data Phase Source #

A phase or step in a turn. Phases and steps are not distinguished between because haven't seen a need to.

Instances

Instances details
Eq Phase Source # 
Instance details

Defined in Dovin.Types

Methods

(==) :: Phase -> Phase -> Bool #

(/=) :: Phase -> Phase -> Bool #

Ord Phase Source # 
Instance details

Defined in Dovin.Types

Methods

compare :: Phase -> Phase -> Ordering #

(<) :: Phase -> Phase -> Bool #

(<=) :: Phase -> Phase -> Bool #

(>) :: Phase -> Phase -> Bool #

(>=) :: Phase -> Phase -> Bool #

max :: Phase -> Phase -> Phase #

min :: Phase -> Phase -> Phase #

Show Phase Source # 
Instance details

Defined in Dovin.Types

Methods

showsPrec :: Int -> Phase -> ShowS #

show :: Phase -> String #

showList :: [Phase] -> ShowS #

data EffectDuration Source #

Constructors

EndOfTurn 

newtype BaseCard Source #

Constructors

BaseCard Card 

Instances

Instances details
Eq BaseCard Source # 
Instance details

Defined in Dovin.Types

Show BaseCard Source # 
Instance details

Defined in Dovin.Types

data Step Source #

Constructors

Step 

manaPoolFor :: Functor f => Player -> ([Char] -> f [Char]) -> Board -> f Board Source #