app

Safe Haskell None
Language Haskell2010

Direction

Description

Handling of arrows and WASD in WorldView. Module is meant to be used qualified.

Synopsis

Documentation

newtype Coord #

Constructors

Coord (Nat, Nat)  
Instances
Eq Coord #  
Instance details

Defined in Direction

Methods

(==) :: Coord -> Coord -> Bool #

(/=) :: Coord -> Coord -> Bool #

Ord Coord #  
Instance details

Defined in Direction

Methods

compare :: Coord -> Coord -> Ordering #

(<) :: Coord -> Coord -> Bool #

(<=) :: Coord -> Coord -> Bool #

(>) :: Coord -> Coord -> Bool #

(>=) :: Coord -> Coord -> Bool #

max :: Coord -> Coord -> Coord #

min :: Coord -> Coord -> Coord #

Show Coord #  
Instance details

Defined in Direction

Methods

showsPrec :: Int -> Coord -> ShowS #

show :: Coord -> String #

showList :: [Coord] -> ShowS #

Generic Coord #  
Instance details

Defined in Direction

Associated Types

type Rep Coord :: Type -> Type #

Methods

from :: Coord -> Rep Coord x #

to :: Rep Coord x -> Coord #

With World Coord #  
Instance details

Defined in Model

Methods

with :: World -> Coord -> World #

With (Player a) Coord #  
Instance details

Defined in Model

Methods

with :: Player a -> Coord -> Player a #

type Rep Coord #  
Instance details

Defined in Direction

(+) :: Coord -> Coord -> Coord #

unCoord :: Coord -> (Nat, Nat) #

Removes the Coord constructor

mapCoord :: (Nat -> Nat) -> Coord -> Coord #

Maps over the content of a Coord

(-) :: Coord -> Coord -> Coord #

Substracts two coords

data T #

Direction of arrows

Constructors

DirDown  
DirLeft  
DirRight  
DirUp  
Instances
Bounded T #  
Instance details

Defined in Direction

Methods

minBound :: T #

maxBound :: T #

Enum T #  
Instance details

Defined in Direction

Methods

succ :: T -> T #

pred :: T -> T #

toEnum :: Int -> T #

fromEnum :: T -> Int #

enumFrom :: T -> [T] #

enumFromThen :: T -> T -> [T] #

enumFromTo :: T -> T -> [T] #

enumFromThenTo :: T -> T -> T -> [T] #

Show T #  
Instance details

Defined in Direction

Methods

showsPrec :: Int -> T -> ShowS #

show :: T -> String #

showList :: [T] -> ShowS #

all :: [T] #

All possible directions

move :: T -> Coord -> Maybe Coord #

Shifts a coordinate by a direction, returning the new coordinate

ofArrows :: Arrows -> Maybe T #

From miso Arrows to our direction type T

isAdjacent :: Coord -> Coord -> Bool #

Whether c1 and c2 are adjacent.