haverer-0.2.0.0: Implementation of the rules of Love Letter

Safe HaskellNone
LanguageHaskell2010

Haverer.Engine

Documentation

class Monad m => MonadEngine m playerId where Source

Minimal complete definition

choosePlay

Methods

badPlay :: BadAction playerId -> m () Source

choosePlay :: PlayerSet playerId -> playerId -> Card -> Card -> m (Card, Play playerId) Source

gameStarted :: Game playerId -> m () Source

gameOver :: Outcome playerId -> m () Source

roundStarted :: Game playerId -> Round playerId -> m () Source

roundOver :: Victory playerId -> m () Source

handStarted :: Round playerId -> m () Source

handOver :: Result playerId -> m () Source

playGame :: (Ord playerId, Show playerId, MonadRandom m, MonadEngine m playerId) => PlayerSet playerId -> m (Outcome playerId) Source