Safe Haskell | None |
---|
Documentation
generateLabyrinth :: RandomGen g => LabyrinthParams -> g -> (Labyrinth, g)Source
type CellPredicate m = Position -> LabState m BoolSource
type CellPredicateR g = CellPredicate (Rand g)Source
isType :: Monad m => CellType -> CellPredicate mSource
isLand :: Monad m => CellPredicate mSource
chooseRandomR :: RandomGen g => [a] -> LabGen g aSource
randomDirection :: RandomGen g => LabGen g DirectionSource
cellIf :: RandomGen g => CellPredicateR g -> LabGen g PositionSource
allNeighbors :: Monad m => CellPredicate m -> CellPredicate mSource
isArmoryHospital :: Monad m => CellPredicate mSource
putArmories :: RandomGen g => LabGen g ()Source
putHospitals :: RandomGen g => LabGen g ()Source
noTreasures :: Monad m => CellPredicate mSource
putTreasure :: RandomGen g => Treasure -> LabGen g ()Source
hasWall :: Monad m => Direction -> CellPredicate mSource
foldTimes_ :: Monad m => a -> Int -> (a -> m a) -> m ()Source
hasLandAround :: Monad m => CellPredicate mSource
putTreasures :: RandomGen g => LabGen g ()Source
goodReachability :: Monad m => LabState m BoolSource
goodDistribution :: Monad m => LabState m BoolSource
generate :: RandomGen g => LabyrinthFeatures -> LabGen g ()Source