Files
loop/src/Dodge/Room/BlinkAcross.hs
T

29 lines
866 B
Haskell

module Dodge.Room.BlinkAcross where
import Control.Monad.State
import Dodge.Cleat
import Dodge.Data.GenWorld
import Dodge.PlacementSpot
import Dodge.Room.Corridor
import Dodge.Room.Link
import Dodge.Room.Procedural
import Dodge.Tree
import LensHelp
import System.Random
blinkAcrossChallenge :: RandomGen g => State g (MetaTree Room String)
blinkAcrossChallenge = do
teleFromRoom <- shuffleLinks =<< roomRectAutoLinks 200 200
teleToRoom <- shuffleLinks =<< roomRectAutoLinks 200 200
emptylink <- shuffleLinks emptyCorridor
rToOnward "blinkAcrossChallenge" $
treePost [teleFromRoom, emptylink, cleatOnward teleToRoom]
emptyCorridor :: Room
emptyCorridor =
corridor & rmPolys .~ []
& rmPath .~ mempty
& rmPmnts .~ []
& rmRandPSs .~ [psRandRanges (10, 30) (30, 60) (0, 2 * pi)]
& rmName .~ "WalledCorridor"