Implement first weapon into tree structure

This commit is contained in:
2021-04-21 13:00:11 +02:00
parent 7c0fbe0ce2
commit a1c344a342
9 changed files with 93 additions and 40 deletions
+15 -12
View File
@@ -33,10 +33,13 @@ import System.Random
roomTreex :: RandomGen g => State g (Maybe [Room])
roomTreex = do
struct <- aTreeStrut
struct' <- aTreeStrut
let struct = Node () []
-- t <- randomPadCorridors $ fmap (const []) struct
let t = padCorridors $ fmap (const []) struct
fmap shiftExpandTree $ mapM annoToRoom t
let t' = padCorridors $ fmap (const []) struct
t = treeTrunk [[StartRoom],[Corridor],[FirstWeapon],[Corridor]] t'
-- fmap shiftExpandTree $ mapM annoToRoom t
fmap (shiftExpandTree . expandTreeBy id) $ mapM annoToRoomTree t
roomTreex' :: RandomGen g => State g (Maybe [Room])
roomTreex' = do
@@ -64,7 +67,7 @@ lev1' = do
]
++ [return $ connectRoom corridor
,return $ connectRoom door
,glassSwitchBack >>= (fmap connectRoom . randLinks)]
,glassSwitchBack >>= (fmap connectRoom . randomiseOutLinks)]
++ [return $ connectRoom corridor
,return $ connectRoom door]
++ [miniRoom3]
@@ -74,25 +77,25 @@ lev1' = do
++ [return $ connectRoom corridor
,return $ connectRoom door]
++[roomMiniIntro]
++ [longRoom >>= (fmap connectRoom . randLinks)]
++ [longRoom >>= (fmap connectRoom . randomiseOutLinks)]
++ [return $ connectRoom corridor
,return $ connectRoom door]
++ firstWeapon
++ [return $ connectRoom corridor
,return $ connectRoom door]
++ [(fmap connectRoom . randLinks) =<< pistolerRoom]
++ [(fmap connectRoom . randomiseOutLinks) =<< pistolerRoom]
++ [return $ connectRoom door]
++ [(fmap connectRoom . randLinks) =<< shooterRoom]
++ (replicate 3 $ (fmap connectRoom . randLinks) corridor)
++ [(fmap connectRoom . randomiseOutLinks) =<< shooterRoom]
++ (replicate 3 $ (fmap connectRoom . randomiseOutLinks) corridor)
++ [return $ connectRoom (set rmPS [PS (20,40) 0 basicLS] corridor)]
++ [return $ connectRoom corridor]
++ (replicate 3 $ (fmap connectRoom . randLinks) corridor)
++ (replicate 3 $ (fmap connectRoom . randomiseOutLinks) corridor)
++ [return $ connectRoom corridor]
++[return $ connectRoom corridor,return $ connectRoom door]
++ [shootingRange]
++ (replicate 3 $ (fmap connectRoom . randLinks) corridor)
++ (replicate 3 $ (fmap connectRoom . randomiseOutLinks) corridor)
++[roomMiniIntro]
++ (replicate 3 $ (fmap connectRoom . randLinks) corridor)
++ (replicate 3 $ (fmap connectRoom . randomiseOutLinks) corridor)
++ [return $ connectRoom corridor
,return $ connectRoom door
,slowDoorRoom]
@@ -101,7 +104,7 @@ lev1' = do
,return $ connectRoom corridor
]
)
$ (fmap connectRoom . randLinks) corridor
$ (fmap connectRoom . randomiseOutLinks) corridor
roomToLevel2 :: RandomGen g => State g (Tree (Either Room Room))
roomToLevel2 = join $ takeOne