Safe Haskell | None |
---|---|
Language | Haskell2010 |
Game action monads and basic building blocks for human and computer
player actions. Has no access to the main action type.
Does not export the liftIO
operation nor a few other implementation
details.
- class MonadStateRead m => MonadServer m where
- getServer :: MonadServer m => m StateServer
- putServer :: MonadServer m => StateServer -> m ()
- debugPossiblyPrint :: MonadServer m => Text -> m ()
- debugPossiblyPrintAndExit :: MonadServer m => Text -> m ()
- serverPrint :: MonadServer m => Text -> m ()
- saveServer :: MonadServer m => m ()
- dumpRngs :: MonadServer m => RNGs -> m ()
- restoreScore :: forall m. MonadServer m => COps -> m ScoreDict
- registerScore :: MonadServer m => Status -> FactionId -> m ()
- rndToAction :: MonadServer m => Rnd a -> m a
- getSetGen :: MonadServer m => Maybe StdGen -> m StdGen
The server monad
class MonadStateRead m => MonadServer m where Source #
getsServer :: (StateServer -> a) -> m a Source #
modifyServer :: (StateServer -> StateServer) -> m () Source #
saveChanServer :: m (ChanSave (State, StateServer)) Source #
Assorted primitives
getServer :: MonadServer m => m StateServer Source #
putServer :: MonadServer m => StateServer -> m () Source #
debugPossiblyPrint :: MonadServer m => Text -> m () Source #
debugPossiblyPrintAndExit :: MonadServer m => Text -> m () Source #
serverPrint :: MonadServer m => Text -> m () Source #
saveServer :: MonadServer m => m () Source #
dumpRngs :: MonadServer m => RNGs -> m () Source #
Dumps RNG states from the start of the game to stdout.
restoreScore :: forall m. MonadServer m => COps -> m ScoreDict Source #
Read the high scores dictionary. Return the empty table if no file.
registerScore :: MonadServer m => Status -> FactionId -> m () Source #
Generate a new score, register it and save.
rndToAction :: MonadServer m => Rnd a -> m a Source #
Invoke pseudo-random computation with the generator kept in the state.