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
+7
View File
@@ -29,6 +29,13 @@ corridor = defaultRoom
,((20,70), negate $ pi/6)
,((20,10) ,pi)
]
keyholeCorridor :: Room
keyholeCorridor = corridor
{ _rmPath = []
, _rmPmnts = [ lowWall $ rectNSEW 50 30 0 15
, lowWall $ rectNSEW 50 30 25 40]
}
corridorN :: Room
corridorN = defaultRoom
{ _rmPolys = [rectNSWE 80 0 0 40
+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))