Move towards better annotations when generating layouts
This commit is contained in:
@@ -20,6 +20,7 @@ import qualified Data.IntMap.Strict as IM
|
||||
|
||||
generateWorldFromSeed :: Int -> IO World
|
||||
generateWorldFromSeed i = do
|
||||
writeFile "attemptedSeeds" ""
|
||||
(roomList,bounds) <- layoutLevelFromSeed 0 i
|
||||
return $ saveLevelStartSlot $ _gWorld (generateLevelFromRoomList roomList
|
||||
initialWorld{_randGen=mkStdGen i})
|
||||
@@ -29,12 +30,16 @@ layoutLevelFromSeed :: Int -> Int -> IO (IM.IntMap Room,[ConvexPoly])
|
||||
layoutLevelFromSeed i seed = do
|
||||
let i' = i + 1
|
||||
putStrLn $ "Generating level with seed " ++ show seed
|
||||
appendFile "attemptedSeeds" $ show seed ++ "\n"
|
||||
let g = mkStdGen seed
|
||||
let rmtree = inorderNumberTree $ evalState initialRoomTree g
|
||||
putStrLn "Compact layout: "
|
||||
let treecluster = evalState initialRoomTree g
|
||||
putStrLn "Room cluster layout:"
|
||||
putStrLn $ drawTree $ fmap snd treecluster
|
||||
let rmtree = inorderNumberTree $ expandTree $ fmap fst treecluster
|
||||
putStrLn "Room layout (compact): "
|
||||
putStrLn $ compactDrawTree $ fmap (show . snd) rmtree
|
||||
let nameshow (r,rid) = _rmName r ++ "-" ++ show rid
|
||||
writeFile "aGeneratedRoomLayout" $ drawTree $ fmap nameshow rmtree
|
||||
appendFile "aGeneratedRoomLayout" $ drawTree $ fmap nameshow rmtree
|
||||
putStrLn "Layout with room names (also written to aGeneratedRoomLayout):"
|
||||
mrs <- positionRoomsFromTree rmtree
|
||||
case mrs of
|
||||
|
||||
Reference in New Issue
Block a user