swarm-0.7.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellNone
LanguageHaskell2010

Swarm.Game.Land

Description

Terrain and Entities

Documentation

data TerrainEntityMaps Source #

Instances

Instances details
Monoid TerrainEntityMaps Source # 
Instance details

Defined in Swarm.Game.Land

Semigroup TerrainEntityMaps Source # 
Instance details

Defined in Swarm.Game.Land

Generic TerrainEntityMaps Source # 
Instance details

Defined in Swarm.Game.Land

Associated Types

type Rep TerrainEntityMaps 
Instance details

Defined in Swarm.Game.Land

type Rep TerrainEntityMaps = D1 ('MetaData "TerrainEntityMaps" "Swarm.Game.Land" "swarm-0.7.0.0-IuFfgHrMoE7JrptOBRVOwx-swarm-scenario" 'False) (C1 ('MetaCons "TerrainEntityMaps" 'PrefixI 'True) (S1 ('MetaSel ('Just "_terrainMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TerrainMap) :*: S1 ('MetaSel ('Just "_entityMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 EntityMap)))
Show TerrainEntityMaps Source # 
Instance details

Defined in Swarm.Game.Land

FromJSONE TerrainEntityMaps TRobot

We can parse a robot from a YAML file if we have access to an EntityMap in which we can look up the names of entities.

Instance details

Defined in Swarm.Game.Robot

FromJSONE (TerrainEntityMaps, RobotMap) Cell

Parse a tuple such as [grass, rock, base] into a Cell. The entity and robot, if present, are immediately looked up and converted into Entity and TRobot values. If they are not found, a parse error results.

Instance details

Defined in Swarm.Game.Scenario.Topography.Cell

type Rep TerrainEntityMaps Source # 
Instance details

Defined in Swarm.Game.Land

type Rep TerrainEntityMaps = D1 ('MetaData "TerrainEntityMaps" "Swarm.Game.Land" "swarm-0.7.0.0-IuFfgHrMoE7JrptOBRVOwx-swarm-scenario" 'False) (C1 ('MetaCons "TerrainEntityMaps" 'PrefixI 'True) (S1 ('MetaSel ('Just "_terrainMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TerrainMap) :*: S1 ('MetaSel ('Just "_entityMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 EntityMap)))

loadEntitiesAndTerrain :: forall (sig :: (Type -> Type) -> Type -> Type) m. (Has (Throw SystemFailure) sig m, Has (Lift IO) sig m) => m TerrainEntityMaps Source #