Cleanup
This commit is contained in:
@@ -46,28 +46,20 @@ addLock i t = do
|
||||
(beforeLock, afterLock) <- splitTrunk t
|
||||
newBefore <- applyToRandomNode (Key i :) beforeLock
|
||||
return $ addToTrunk newBefore [Node [Lock i] afterLock]
|
||||
{- |
|
||||
Add one corridor between each parent-child link of a tree of annotations.
|
||||
-}
|
||||
{- | Add one corridor between each parent-child link of a tree of annotations. -}
|
||||
padCorridors :: Tree [Annotation g] -> Tree [Annotation g]
|
||||
padCorridors (Node x xs) = Node [Corridor] [Node x (map padCorridors xs)]
|
||||
{-
|
||||
Add one to three corridors between each parent-child link of a tree of annotations.
|
||||
-}
|
||||
{- Add one to three corridors between each parent-child link of a tree of annotations. -}
|
||||
randomPadCorridors :: RandomGen g => Tree [Annotation g] -> State g (Tree [Annotation g])
|
||||
randomPadCorridors (Node x xs) = do
|
||||
n <- state $ randomR (1, 3)
|
||||
xs' <- mapM randomPadCorridors xs
|
||||
return $ treeFromTrunk (replicate n [Corridor]) (Node x xs')
|
||||
{- |
|
||||
Add a corridor to a random out-link of a room.
|
||||
-}
|
||||
{- | Add a corridor to a random out-link of a room. -}
|
||||
roomThenCorridor :: RandomGen g => Room -> State g (Tree (Either Room Room))
|
||||
roomThenCorridor theRoom = fmap (\r -> Node (Left theRoom) [(pure . Right) r])
|
||||
(randomiseOutLinks corridor)
|
||||
{- |
|
||||
Create a random room tree structure from a list of annotations.
|
||||
-}
|
||||
{- | Create a random room tree structure from a list of annotations. -}
|
||||
annoToRoomTree :: RandomGen g => [Annotation g] -> State g (Tree (Either Room Room))
|
||||
annoToRoomTree [OrAno as] = do
|
||||
a <- takeOne as
|
||||
@@ -75,7 +67,7 @@ annoToRoomTree [OrAno as] = do
|
||||
annoToRoomTree [Corridor] = pure . Right <$> randomiseOutLinks corridor
|
||||
annoToRoomTree [CorridorDebug] = pure . Right <$> randomiseOutLinks corridorDebug
|
||||
annoToRoomTree [DoorAno] = roomThenCorridor door
|
||||
annoToRoomTree [DoorNumAno _,AirlockAno] = airlock >>= roomThenCorridor
|
||||
annoToRoomTree [AirlockAno] = airlock >>= roomThenCorridor
|
||||
annoToRoomTree [FirstWeapon] = do
|
||||
branchWP <- branchRectWith weaponRoom
|
||||
blockedC <- longBlockedCorridor
|
||||
|
||||
Reference in New Issue
Block a user