Copyright | (c) Henry J. Wylde, 2015 |
---|---|
License | BSD3 |
Maintainer | public@hjwylde.com |
Safe Haskell | None |
Language | Haskell2010 |
Engine functions.
- checkStage :: (MonadState Game m, MonadWriter [Message] m) => m ()
- checkGameOver :: (MonadState Game m, MonadWriter [Message] m) => m ()
- startGame :: (MonadError [Message] m, MonadWriter [Message] m) => Text -> [Player] -> m Game
- killPlayer :: MonadState Game m => Player -> m ()
- isGameOver :: MonadState Game m => m Bool
- isDefendersTurn :: MonadState Game m => m Bool
- isSeersTurn :: MonadState Game m => m Bool
- isVillagesTurn :: MonadState Game m => m Bool
- isWerewolvesTurn :: MonadState Game m => m Bool
- isWitchsTurn :: MonadState Game m => m Bool
- getPlayerVote :: MonadState Game m => Text -> m (Maybe Text)
- getPendingVoters :: MonadState Game m => m [Player]
- getVoteResult :: MonadState Game m => m [Player]
- defaultFilePath :: MonadIO m => m FilePath
- writeGame :: MonadIO m => Game -> m ()
- readGame :: MonadIO m => m Game
- deleteGame :: MonadIO m => m ()
- doesGameExist :: MonadIO m => m Bool
- getDevourEvent :: MonadState Game m => m (Maybe Event)
- createPlayers :: MonadIO m => [Text] -> [Role] -> m [Player]
- doesPlayerExist :: MonadState Game m => Text -> m Bool
- isPlayerDefender :: MonadState Game m => Text -> m Bool
- isPlayerSeer :: MonadState Game m => Text -> m Bool
- isPlayerWerewolf :: MonadState Game m => Text -> m Bool
- isPlayerWitch :: MonadState Game m => Text -> m Bool
- isPlayerAlive :: MonadState Game m => Text -> m Bool
- isPlayerDead :: MonadState Game m => Text -> m Bool
- randomiseRoles :: MonadIO m => [Role] -> Int -> m [Role]
Loop
checkStage :: (MonadState Game m, MonadWriter [Message] m) => m () Source
checkGameOver :: (MonadState Game m, MonadWriter [Message] m) => m () Source
Game
Manipulations
startGame :: (MonadError [Message] m, MonadWriter [Message] m) => Text -> [Player] -> m Game Source
killPlayer :: MonadState Game m => Player -> m () Source
Queries
isGameOver :: MonadState Game m => m Bool Source
isDefendersTurn :: MonadState Game m => m Bool Source
isSeersTurn :: MonadState Game m => m Bool Source
isVillagesTurn :: MonadState Game m => m Bool Source
isWerewolvesTurn :: MonadState Game m => m Bool Source
isWitchsTurn :: MonadState Game m => m Bool Source
getPlayerVote :: MonadState Game m => Text -> m (Maybe Text) Source
getPendingVoters :: MonadState Game m => m [Player] Source
getVoteResult :: MonadState Game m => m [Player] Source
Reading and writing
defaultFilePath :: MonadIO m => m FilePath Source
deleteGame :: MonadIO m => m () Source
doesGameExist :: MonadIO m => m Bool Source
Event
Queries
getDevourEvent :: MonadState Game m => m (Maybe Event) Source
Player
Manipulations
Queries
doesPlayerExist :: MonadState Game m => Text -> m Bool Source
isPlayerDefender :: MonadState Game m => Text -> m Bool Source
isPlayerSeer :: MonadState Game m => Text -> m Bool Source
isPlayerWerewolf :: MonadState Game m => Text -> m Bool Source
isPlayerWitch :: MonadState Game m => Text -> m Bool Source
isPlayerAlive :: MonadState Game m => Text -> m Bool Source
isPlayerDead :: MonadState Game m => Text -> m Bool Source