Add log when generating layout

This commit is contained in:
2022-05-20 21:15:44 +01:00
parent 20d041fc59
commit da302aad0c
16 changed files with 155 additions and 94 deletions
+9 -1
View File
@@ -34,7 +34,7 @@ layoutLevelFromSeed i seed = do
let g = mkStdGen seed
let treecluster = evalState initialRoomTree g
putStrLn "Room cluster layout:"
putStrLn $ drawTree $ fmap snd treecluster
putStrLn $ drawTreeSubLabelling $ fmap snd treecluster
let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster
putStrLn "Room layout (compact): "
putStrLn $ compactDrawTree $ fmap (show . snd) rmtree
@@ -55,6 +55,14 @@ layoutLevelFromSeed i seed = do
let (seed',_) = random g
layoutLevelFromSeed i' seed'
drawTreeSubLabelling :: Tree TreeSubLabelling -> String
drawTreeSubLabelling t = drawTree (fmap _topLabel t)
++ concat
(map f $ flatten t)
where
f (TreeSubLabelling _ Nothing) = ""
f (TreeSubLabelling l (Just t')) = l ++ ":\n" ++ drawTreeSubLabelling t'
reversePair :: (a,b) -> (b,a)
reversePair (a,b) = (b,a)