Confirm generalised tree composition works

This commit is contained in:
2022-06-11 17:25:03 +01:00
parent 51cd9315ad
commit 8b4b6de0c0
2 changed files with 12 additions and 4 deletions
+5 -4
View File
@@ -36,10 +36,11 @@ layoutLevelFromSeed i seed = do
appendFile "log/attemptedSeeds" $ show seed ++ "\n"
let g = mkStdGen seed
let treecluster = evalState initialRoomTree g
(strs,tc) = composeTree' treecluster
appendFile "log/TreeCluster" ("Seed: "++ show seed)
mapM_ (appendFile "log/treeCluster" . ('\n':)) strs
mapM_ putStrLn strs
tc <- composeAndLog $ cmpToMT treecluster
---- (strs,tc) = composeTree' treecluster
----appendFile "log/TreeCluster" ("Seed: "++ show seed)
----mapM_ (appendFile "log/treeCluster" . ('\n':)) strs
----mapM_ putStrLn strs
--putStrLn "Room cluster layout:"
--putStrLn $ drawTreeSubLabelling $ fmap snd treecluster
--let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster
+7
View File
@@ -16,6 +16,7 @@ module Dodge.Tree.Compose
, attachTree
, composeTreeRand
, composeAndLog
, cmpToMT
-- , compTree
) where
import Dodge.Data
@@ -184,3 +185,9 @@ composeAndLog mt = case mt of
putStrLn $ drawTree $ logMT mt
brs <- mapM composeAndSubLog $ _btBranches mt
return $ Node (_btValue mt) brs
cmpToMT :: Tree (a-> Maybe (b,a), Tree a) -> MetaTree a
cmpToMT (Node (_,t) ts) = MTree "A" (tToBT t) (map tToMB ts)
where
tToMB (Node (f,t') ts') = MBranch "C" (fmap snd . f) $ MTree "D" (tToBT t') (map tToMB ts')
tToBT (Node x xs) = BTree "B" x $ map tToBT xs