Cleanup
This commit is contained in:
@@ -5,7 +5,6 @@ module Dodge.Room.Modify.Girder
|
||||
, addGirderEW
|
||||
, addGirderNS
|
||||
, addGirderNS'
|
||||
, addGirderFromWest
|
||||
) where
|
||||
--import Dodge.Data
|
||||
import Dodge.LevelGen.Data
|
||||
@@ -39,31 +38,14 @@ addGirderNS shapef col room = do
|
||||
$ \ps1 ps2 -> sps0 $ PutShape $ colorSH col $ shapef (_psPos ps1) (_psPos ps2)
|
||||
| i <- girderPosOrder]
|
||||
)
|
||||
-- this can be cleaned up
|
||||
addGirderFromWest :: RandomGen g => Int -> (Point2 -> Point2 -> Shape) -> Color -> Room -> State g Room
|
||||
addGirderFromWest fromwesti shapef col room = do
|
||||
let nwestlnks = length $ filter ((OnEdge North `S.member`) . _rlType) $ _rmLinks room
|
||||
girderPosOrder <- shuffle [0 .. nwestlnks - 1]
|
||||
return $ room & rmPmnts .:~ foldr1 setFallback
|
||||
(sps0 PutNothing : [ twoRoomPoss
|
||||
(isUnusedLnkType (FromEdge West i))
|
||||
(isUnusedLnkType (FromEdge West i))
|
||||
$ \ps1 ps2 -> sps0 $ PutShape $ colorSH col $ shapef (_psPos ps1) (_psPos ps2)
|
||||
| i <- [fromwesti]]
|
||||
)
|
||||
|
||||
addGirderFrom :: RandomGen g => CardinalPoint -> Int
|
||||
-> (Point2 -> Point2 -> Shape) -> Color -> Room -> State g Room
|
||||
addGirderFrom cp fromi shapef col room = do
|
||||
let nwestlnks = length $ filter ((OnEdge North `S.member`) . _rlType) $ _rmLinks room
|
||||
girderPosOrder <- shuffle [0 .. nwestlnks - 1]
|
||||
return $ room & rmPmnts .:~ foldr1 setFallback
|
||||
(sps0 PutNothing : [ twoRoomPoss
|
||||
(isUnusedLnkType (FromEdge cp i))
|
||||
(isUnusedLnkType (FromEdge cp i))
|
||||
$ \ps1 ps2 -> sps0 $ PutShape $ colorSH col $ shapef (_psPos ps1) (_psPos ps2)
|
||||
| i <- [fromi]]
|
||||
)
|
||||
addGirderFrom :: CardinalPoint -> Int -> (Point2 -> Point2 -> Shape) -> Color -> Room -> Room
|
||||
addGirderFrom cp fromi shapef col = rmPmnts .:~ foldr1 setFallback
|
||||
[ sps0 PutNothing
|
||||
, twoRoomPoss rmposcond rmposcond
|
||||
$ \ps1 ps2 -> sps0 $ PutShape $ colorSH col $ shapef (_psPos ps1) (_psPos ps2) ]
|
||||
where
|
||||
rmposcond = isUnusedLnkType (FromEdge cp fromi)
|
||||
-- | Allows girder to be on edge
|
||||
addGirderNS' :: RandomGen g => (Point2 -> Point2 -> Shape) -> Color -> Room -> State g Room
|
||||
addGirderNS' shapef col room = do
|
||||
|
||||
Reference in New Issue
Block a user