Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype WorldPalette e = WorldPalette {}
- data PWorldDescription e = WorldDescription {
- defaultTerrain :: Maybe (PCell e)
- offsetOrigin :: Bool
- palette :: WorldPalette e
- ul :: Location
- area :: [[PCell e]]
- type WorldDescription = PWorldDescription Entity
- paintMap :: MonadFail m => WorldPalette e -> Text -> m [[PCell e]]
Documentation
newtype WorldPalette e Source #
A world palette maps characters to PCell
values.
Instances
Show e => Show (WorldPalette e) Source # | |
Defined in Swarm.Game.Scenario.WorldDescription showsPrec :: Int -> WorldPalette e -> ShowS # show :: WorldPalette e -> String # showList :: [WorldPalette e] -> ShowS # | |
Eq e => Eq (WorldPalette e) Source # | |
Defined in Swarm.Game.Scenario.WorldDescription (==) :: WorldPalette e -> WorldPalette e -> Bool # (/=) :: WorldPalette e -> WorldPalette e -> Bool # | |
FromJSONE (EntityMap, RobotMap) (WorldPalette Entity) Source # | |
Defined in Swarm.Game.Scenario.WorldDescription parseJSONE :: Value -> ParserE (EntityMap, RobotMap) (WorldPalette Entity) Source # parseJSONE' :: (EntityMap, RobotMap) -> Value -> Parser (WorldPalette Entity) Source # |
data PWorldDescription e Source #
A description of a world parsed from a YAML file. This type is parameterized to accommodate Cells that utilize a less stateful Entity type.
WorldDescription | |
|
Instances
Show e => Show (PWorldDescription e) Source # | |
Defined in Swarm.Game.Scenario.WorldDescription showsPrec :: Int -> PWorldDescription e -> ShowS # show :: PWorldDescription e -> String # showList :: [PWorldDescription e] -> ShowS # | |
Eq e => Eq (PWorldDescription e) Source # | |
Defined in Swarm.Game.Scenario.WorldDescription (==) :: PWorldDescription e -> PWorldDescription e -> Bool # (/=) :: PWorldDescription e -> PWorldDescription e -> Bool # | |
FromJSONE (EntityMap, RobotMap) WorldDescription Source # | |
Defined in Swarm.Game.Scenario.WorldDescription parseJSONE :: Value -> ParserE (EntityMap, RobotMap) WorldDescription Source # parseJSONE' :: (EntityMap, RobotMap) -> Value -> Parser WorldDescription Source # |
paintMap :: MonadFail m => WorldPalette e -> Text -> m [[PCell e]] Source #
Paint a world map using a WorldPalette
, turning it from a raw
string into a nested list of PCell
values by looking up each
character in the palette, failing if any character in the raw map
is not contained in the palette.