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" appendFile "log/attemptedSeeds" $ show seed ++ "\n"
let g = mkStdGen seed let g = mkStdGen seed
let treecluster = evalState initialRoomTree g let treecluster = evalState initialRoomTree g
(strs,tc) = composeTree' treecluster tc <- composeAndLog $ cmpToMT treecluster
appendFile "log/TreeCluster" ("Seed: "++ show seed) ---- (strs,tc) = composeTree' treecluster
mapM_ (appendFile "log/treeCluster" . ('\n':)) strs ----appendFile "log/TreeCluster" ("Seed: "++ show seed)
mapM_ putStrLn strs ----mapM_ (appendFile "log/treeCluster" . ('\n':)) strs
----mapM_ putStrLn strs
--putStrLn "Room cluster layout:" --putStrLn "Room cluster layout:"
--putStrLn $ drawTreeSubLabelling $ fmap snd treecluster --putStrLn $ drawTreeSubLabelling $ fmap snd treecluster
--let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster --let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster
+7
View File
@@ -16,6 +16,7 @@ module Dodge.Tree.Compose
, attachTree , attachTree
, composeTreeRand , composeTreeRand
, composeAndLog , composeAndLog
, cmpToMT
-- , compTree -- , compTree
) where ) where
import Dodge.Data import Dodge.Data
@@ -184,3 +185,9 @@ composeAndLog mt = case mt of
putStrLn $ drawTree $ logMT mt putStrLn $ drawTree $ logMT mt
brs <- mapM composeAndSubLog $ _btBranches mt brs <- mapM composeAndSubLog $ _btBranches mt
return $ Node (_btValue mt) brs 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