Check wall collisions when expanding
This commit is contained in:
@@ -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
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user