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

Swarm.Game.Scenario.Topography.Area

Description

 
Synopsis

Documentation

data AreaDimensions Source #

Height and width of a 2D map region

Constructors

AreaDimensions 

Instances

Instances details
ToJSON AreaDimensions Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

Generic AreaDimensions Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

Associated Types

type Rep AreaDimensions 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

type Rep AreaDimensions = D1 ('MetaData "AreaDimensions" "Swarm.Game.Scenario.Topography.Area" "swarm-0.7.0.0-IuFfgHrMoE7JrptOBRVOwx-swarm-topography" 'False) (C1 ('MetaCons "AreaDimensions" 'PrefixI 'True) (S1 ('MetaSel ('Just "rectWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "rectHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32)))
Show AreaDimensions Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

Eq AreaDimensions Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

type Rep AreaDimensions Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Area

type Rep AreaDimensions = D1 ('MetaData "AreaDimensions" "Swarm.Game.Scenario.Topography.Area" "swarm-0.7.0.0-IuFfgHrMoE7JrptOBRVOwx-swarm-topography" 'False) (C1 ('MetaCons "AreaDimensions" 'PrefixI 'True) (S1 ('MetaSel ('Just "rectWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "rectHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32)))

computeBottomRightFromUpperLeft :: AreaDimensions -> Location -> Location Source #

Incorporates an offset by -1, since the area is "inclusive" of the lower-right coordinate. Inverse of cornersToArea.

cornersToArea :: Location -> Location -> AreaDimensions Source #

Converts the displacement vector between the two diagonal corners of the rectangle into an AreaDimensions record. Adds one to both dimensions since the corner coordinates are "inclusive". Inverse of computeBottomRightFromUpperLeft.

isEmpty :: AreaDimensions -> Bool Source #

Has zero width or height.

getAreaDimensions :: [[a]] -> AreaDimensions Source #

Extracts the dimensions of a map grid.