License | BSD-3-Clause |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
Swarm.Game.Scenario.Topography.Grid
Description
Synopsis
- data Grid c
- = EmptyGrid
- | Grid (NonEmptyGrid c)
- newtype NonEmptyGrid c = NonEmptyGrid (NonEmpty (NonEmpty c))
- gridToVec :: Grid a -> Vector (Vector a)
- mapWithCoords :: (Coords -> a -> b) -> Grid a -> [b]
- mapWithCoordsNE :: (Coords -> a -> b) -> NonEmptyGrid a -> NonEmpty b
- allMembers :: Grid a -> [a]
- allMembersNE :: NonEmptyGrid c -> NonEmpty c
- mapRowsNE :: (NonEmpty (NonEmpty a) -> NonEmpty (NonEmpty b)) -> NonEmptyGrid a -> NonEmptyGrid b
- getRows :: Grid a -> [[a]]
- mkGrid :: [[a]] -> Grid a
- getNonEmptyGrid :: Grid a -> Maybe (NonEmptyGrid a)
Documentation
Constructors
EmptyGrid | |
Grid (NonEmptyGrid c) |
Instances
Foldable Grid Source # | |
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 # elem :: Eq a => a -> Grid a -> Bool # maximum :: Ord a => Grid a -> a # | |
Traversable Grid Source # | |
Functor Grid Source # | |
FromJSON (Grid Char) Source # | |
ToJSON a => ToJSON (Grid a) Source # | |
Show c => Show (Grid c) Source # | |
Eq c => Eq (Grid c) Source # | |
newtype NonEmptyGrid c Source #
Constructors
NonEmptyGrid (NonEmpty (NonEmpty c)) |
Instances
gridToVec :: Grid a -> Vector (Vector a) Source #
Converts linked lists to vectors to facilitate random access when assembling the image
mapWithCoords :: (Coords -> a -> b) -> Grid a -> [b] Source #
mapWithCoordsNE :: (Coords -> a -> b) -> NonEmptyGrid a -> NonEmpty b Source #
allMembers :: Grid a -> [a] Source #
allMembersNE :: NonEmptyGrid c -> NonEmpty c Source #
mapRowsNE :: (NonEmpty (NonEmpty a) -> NonEmpty (NonEmpty b)) -> NonEmptyGrid a -> NonEmptyGrid 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.
getNonEmptyGrid :: Grid a -> Maybe (NonEmptyGrid a) Source #