Tweak level generation slightly

This commit is contained in:
2021-11-28 20:58:38 +00:00
parent 98e44f0eee
commit 45ba120796
4 changed files with 27 additions and 36 deletions
+4 -6
View File
@@ -7,25 +7,23 @@ import Dodge.Data
import Dodge.Floor
import Dodge.Layout
import Dodge.Initialisation
import Dodge.RandomHelp
--import Dodge.RandomHelp
import Dodge.LevelGen.Data
import Dodge.Tree
import Dodge.LevelGen.LevelStructure
import Data.Tree
import System.Random
import Control.Lens
--import Control.Lens
import Control.Monad.State
import qualified Data.IntMap.Strict as IM
generateWorldFromSeed :: Int -> IO World
generateWorldFromSeed i = do
roomList <- layoutLevelFromSeed 0 i
return $ randomCompass $ generateLevelFromRoomList roomList
return $ _gWorld $ generateLevelFromRoomList roomList
initialWorld{_randGen=mkStdGen i}
randomCompass :: World -> World
randomCompass w = w & cameraRot .~ (takeOne [0,0.5*pi,pi,1.5*pi] & evalState $ _randGen w)
layoutLevelFromSeed :: Int -> Int -> IO (IM.IntMap Room)
layoutLevelFromSeed i seed = do
let i' = i + 1