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

30 lines
908 B
Haskell

module Dodge.Room.BlinkAcross where
--import Control.Monad.State
import Control.Monad.Trans.State.Lazy
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 =<< roomRectAutoLights 200 200
teleToRoom <- shuffleLinks =<< roomRectAutoLights 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"