Fold in new composing room datatype
This commit is contained in:
@@ -49,7 +49,7 @@ critRoom = corridorWallN
|
||||
{ _rmRandPSs = [psRandRanges (15,25) (30,45) (pi,2*pi)]
|
||||
}
|
||||
|
||||
runPastRoom :: RandomGen g => Int -> State g (Tree (Either Room Room))
|
||||
runPastRoom :: RandomGen g => Int -> State g (SubCompTree Room)
|
||||
runPastRoom i = do
|
||||
h <- state $ randomR (200,400::Float)
|
||||
theedgetest <- takeOne [horEdgeTest (<1), horEdgeTest (>39)]
|
||||
@@ -71,8 +71,8 @@ runPastRoom i = do
|
||||
}
|
||||
switchdoor = switchDoorRoom & rmTakeFrom ?~ i
|
||||
n = length $ filter theedgetest $ _rmLinks cenroom
|
||||
controom = treeFromPost [Left switchdoor,Left linkcor] (Right door)
|
||||
critrooms :: [Tree (Either Room Room)]
|
||||
critrooms = treeFromPost [Left switchdoor] (Left critroom) :
|
||||
replicate (n-2) (treeFromPost [Left switchdoor] (Left linkcor))
|
||||
return $ Node (Left cenroom) (controom : critrooms ++ [return $ Left aswitchroom])
|
||||
controom = treeFromPost [PassDown switchdoor,PassDown linkcor] (UseAll door)
|
||||
critrooms :: [SubCompTree Room]
|
||||
critrooms = treeFromPost [PassDown switchdoor] (PassDown critroom) :
|
||||
replicate (n-2) (treeFromPost [PassDown switchdoor] (PassDown linkcor))
|
||||
return $ Node (PassDown cenroom) (controom : critrooms ++ [return $ PassDown aswitchroom])
|
||||
|
||||
Reference in New Issue
Block a user