21 lines
751 B
Haskell
21 lines
751 B
Haskell
module Dodge.Room.Girder where
|
|
|
|
import Color
|
|
import Dodge.Data.GenWorld
|
|
import Dodge.Room.Foreground
|
|
import Dodge.Room.Modify.Girder
|
|
import RandomHelp
|
|
|
|
addRandomGirderEW :: RandomGen g => Room -> State g Room
|
|
addRandomGirderEW rm = do
|
|
hgshape <- takeOne [girder 96 20 10, girderZ 96 20 10, girderV 96 20 10]
|
|
lgshape <- takeOne [girder 60 20 10, girderZ 60 20 10, girderV 60 20 10]
|
|
addgird <- takeOne [addGirderNS' hgshape black, addGirderNS' lgshape red]
|
|
addgird rm
|
|
|
|
addRandomGirderFrom :: RandomGen g => CardinalPoint -> Int -> Room -> State g Room
|
|
addRandomGirderFrom cp i rm = do
|
|
(h, col) <- takeOne [(96, black), (60, red)]
|
|
gtype <- takeOne [girder, girderZ, girderV]
|
|
return $ addGirderFrom cp i (gtype h 20 10) col rm
|