Safe Haskell | None |
---|
Game.LambdaHack.Place
Description
Generation of places from place kinds.
Documentation
type TileMapXY = Map PointXY (Id TileKind)Source
The map of tile kinds in a place (and generally anywhere in a cave).
The map is sparse. The default tile that eventually fills the empty spaces
is specified in the cave kind specification with cdefTile
.
The parameters of a place. Most are immutable and set at the time when a place is generated.
Constructors
Place | |
For CAlternate
tiling, require the place be comprised
of an even number of whole corners, with exactly one square
overlap between consecutive coners and no trimming.
For other tiling methods, check that the area is large enough for tiling
the corner twice in each direction, with a possible one row/column overlap.
buildFence :: Id TileKind -> Area -> TileMapXYSource
Construct a fence around an area, with the given tile kind.
Arguments
:: COps | the game content |
-> Id TileKind | fence tile, if fence solid |
-> Id TileKind | fence tile, if fence hollow |
-> RollDeep | the chance of a dark place |
-> Int | current level depth |
-> Int | maximum depth |
-> Area | interior area of the place |
-> Rnd (TileMapXY, Place) |
Given a few parameters, roll and construct a Place
datastructure
and fill a cave section acccording to it.