Confirm generalised tree composition works
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user