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

Swarm.Game.Universe

Description

 
Synopsis

Documentation

data SubworldName Source #

Instances

Instances details
FromJSON SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

ToJSON SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

Generic SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

Associated Types

type Rep SubworldName :: Type -> Type #

Show SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

Eq SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

Ord SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

type Rep SubworldName Source # 
Instance details

Defined in Swarm.Game.Universe

type Rep SubworldName = D1 ('MetaData "SubworldName" "Swarm.Game.Universe" "swarm-0.4-ISnx5FXhZ2Y66vKOx5hQmE" 'False) (C1 ('MetaCons "DefaultRootSubworld" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubworldName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

data Cosmic a Source #

The swarm universe consists of locations indexed by subworld. Not only is this datatype useful for planar (2D) coordinates, but is also used for named waypoints.

Constructors

Cosmic 

Fields

Instances

Instances details
Functor Cosmic Source # 
Instance details

Defined in Swarm.Game.Universe

Methods

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

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

FromJSON a => FromJSON (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

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

Defined in Swarm.Game.Universe

Generic (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

Associated Types

type Rep (Cosmic a) :: Type -> Type #

Methods

from :: Cosmic a -> Rep (Cosmic a) x #

to :: Rep (Cosmic a) x -> Cosmic a #

Show a => Show (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

Methods

showsPrec :: Int -> Cosmic a -> ShowS #

show :: Cosmic a -> String #

showList :: [Cosmic a] -> ShowS #

Eq a => Eq (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

Methods

(==) :: Cosmic a -> Cosmic a -> Bool #

(/=) :: Cosmic a -> Cosmic a -> Bool #

Ord a => Ord (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

Methods

compare :: Cosmic a -> Cosmic a -> Ordering #

(<) :: Cosmic a -> Cosmic a -> Bool #

(<=) :: Cosmic a -> Cosmic a -> Bool #

(>) :: Cosmic a -> Cosmic a -> Bool #

(>=) :: Cosmic a -> Cosmic a -> Bool #

max :: Cosmic a -> Cosmic a -> Cosmic a #

min :: Cosmic a -> Cosmic a -> Cosmic a #

type Rep (Cosmic a) Source # 
Instance details

Defined in Swarm.Game.Universe

type Rep (Cosmic a) = D1 ('MetaData "Cosmic" "Swarm.Game.Universe" "swarm-0.4-ISnx5FXhZ2Y66vKOx5hQmE" 'False) (C1 ('MetaCons "Cosmic" 'PrefixI 'True) (S1 ('MetaSel ('Just "_subworld") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubworldName) :*: S1 ('MetaSel ('Just "_planar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a)))

planar :: forall a a. Lens (Cosmic a) (Cosmic a) a a Source #

cosmoMeasure :: (a -> a -> b) -> Cosmic a -> Cosmic a -> DistanceMeasure b Source #

Returns InfinitelyFar if not within the same subworld.