swarm-0.6.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellSafe-Inferred
LanguageHaskell2010

Swarm.Game.Scenario.Topography.Grid

Description

 
Synopsis

Documentation

data Grid c Source #

Constructors

EmptyGrid 
Grid (NonEmpty (NonEmpty c)) 

Instances

Instances details
Foldable Grid Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Methods

fold :: Monoid m => Grid m -> m #

foldMap :: Monoid m => (a -> m) -> Grid a -> m #

foldMap' :: Monoid m => (a -> m) -> Grid a -> m #

foldr :: (a -> b -> b) -> b -> Grid a -> b #

foldr' :: (a -> b -> b) -> b -> Grid a -> b #

foldl :: (b -> a -> b) -> b -> Grid a -> b #

foldl' :: (b -> a -> b) -> b -> Grid a -> b #

foldr1 :: (a -> a -> a) -> Grid a -> a #

foldl1 :: (a -> a -> a) -> Grid a -> a #

toList :: Grid a -> [a] #

null :: Grid a -> Bool #

length :: Grid a -> Int #

elem :: Eq a => a -> Grid a -> Bool #

maximum :: Ord a => Grid a -> a #

minimum :: Ord a => Grid a -> a #

sum :: Num a => Grid a -> a #

product :: Num a => Grid a -> a #

Traversable Grid Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Methods

traverse :: Applicative f => (a -> f b) -> Grid a -> f (Grid b) #

sequenceA :: Applicative f => Grid (f a) -> f (Grid a) #

mapM :: Monad m => (a -> m b) -> Grid a -> m (Grid b) #

sequence :: Monad m => Grid (m a) -> m (Grid a) #

Functor Grid Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Methods

fmap :: (a -> b) -> Grid a -> Grid b #

(<$) :: a -> Grid b -> Grid a #

FromJSON (Grid Char) Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Structure

ToJSON a => ToJSON (Grid a) Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Show c => Show (Grid c) Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Methods

showsPrec :: Int -> Grid c -> ShowS #

show :: Grid c -> String #

showList :: [Grid c] -> ShowS #

Eq c => Eq (Grid c) Source # 
Instance details

Defined in Swarm.Game.Scenario.Topography.Grid

Methods

(==) :: Grid c -> Grid c -> Bool #

(/=) :: Grid c -> Grid c -> Bool #

gridToVec :: Grid a -> Vector (Vector a) Source #

Converts linked lists to vectors to facilitate random access when assembling the image

mapIndexedMembers :: (Coords -> a -> b) -> Grid a -> [b] Source #

allMembers :: Grid a -> [a] Source #

mapRows :: (NonEmpty (NonEmpty a) -> NonEmpty (NonEmpty b)) -> Grid a -> Grid b Source #

Since the derived Functor instance applies to the type parameter that is nested within lists, we define an explicit function for mapping over the enclosing lists.

getRows :: Grid a -> [[a]] Source #

mkGrid :: [[a]] -> Grid a Source #