Check wall collisions when expanding

This commit is contained in:
2021-11-18 21:15:50 +00:00
parent a546d070f0
commit 15f2c419d2
7 changed files with 58 additions and 36 deletions
+15 -5
View File
@@ -7,6 +7,7 @@ import Dodge.Default
import Dodge.Layout.Tree.Either
import Dodge.RandomHelp
import Dodge.Room.Door
import Dodge.Room.Corridor
import Dodge.Room.Room
import Dodge.Room.Link
import Dodge.Room.Procedural
@@ -27,13 +28,22 @@ import Control.Lens
import System.Random
--import qualified Data.IntMap.Strict as IM
minigunfakeout :: RandomGen g => State g (Tree (Either Room Room))
minigunfakeout = do
rcol <- rezColor
ncor <- state $ randomR (1,5)
return $ ([Left $ rezBox rcol,Left door] ++ replicate ncor (Left corridor)
++ [Left keyholeCorridor,Left corridor])
`treeFromPost` Right door
startRoom :: RandomGen g => State g (Tree (Either Room Room))
startRoom = join $ takeOne
[ rezBoxesWp
, rezBoxesThenWeaponRoom
, rezBoxThenWeaponRoom
, rezBoxesWpCrit
, runPastStart
[ minigunfakeout
--, rezBoxesWp
--, rezBoxesThenWeaponRoom
--, rezBoxThenWeaponRoom
--, rezBoxesWpCrit
--, runPastStart
]
runPastStart :: RandomGen g => State g (Tree (Either Room Room))