labyrinth-0.4.2.0: A complicated turn-based game

Safe HaskellNone

Labyrinth.Generate

Documentation

generateLabyrinth :: RandomGen g => Int -> Int -> Int -> g -> (Labyrinth, g)Source

type LabGen g a = LabState (Rand g) aSource

chooseRandomR :: RandomGen g => [a] -> LabGen g aSource

allOf :: Monad m => [a -> m Bool] -> a -> m BoolSource

cellIf :: RandomGen g => CellPredicateR g -> LabGen g PositionSource

putCell :: RandomGen g => CellType -> LabGen g PositionSource

putAH :: RandomGen g => CellType -> LabGen g PositionSource

putArmories :: RandomGen g => LabGen g ()Source

putHospitals :: RandomGen g => LabGen g ()Source

putTreasure :: RandomGen g => Treasure -> LabGen g ()Source

putExit :: RandomGen g => Wall -> LabGen g ()Source

putExits :: RandomGen g => LabGen g ()Source

putPits :: RandomGen g => LabGen g ()Source

foldTimes :: Monad m => a -> Int -> (a -> m a) -> m aSource

foldTimes_ :: Monad m => a -> Int -> (a -> m a) -> m ()Source

putRivers :: RandomGen g => LabGen g ()Source

putTreasures :: RandomGen g => LabGen g ()Source

putWalls :: RandomGen g => LabGen g ()Source

untilR :: MonadState v m => m Bool -> m a -> m ()Source

untilRN :: MonadState v m => Int -> m Bool -> m a -> m BoolSource

generate :: RandomGen g => LabGen g ()Source