bishbosh-0.1.4.0: Plays chess.
Safe HaskellNone
LanguageHaskell2010

BishBosh.Direction.Direction

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
  • Describes a direction.
  • The resolution of the measure is merely sufficient for Chess-moves.
  • The IO-format is based on 8 points of the compass.
Synopsis

Types

Type-synonyms

type ArrayByDirection = Array Direction Source #

A boxed array indexed by direction, of arbitrary elements.

Data-types

data Direction Source #

Define the direction in which a piece moves relative to the board's edges.

Instances

Instances details
Bounded Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Eq Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Ord Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Read Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Show Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Ix Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

NFData Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Methods

rnf :: Direction -> () #

FixedMembership Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Opposable Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Orientated Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

ReflectableOnY Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

ReflectableOnX Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Rotatable Direction Source # 
Instance details

Defined in BishBosh.Direction.Direction

Constants

parallels :: [Direction] Source #

Constant directions.

diagonals :: [Direction] Source #

Constant directions.

opposites :: [(Direction, Direction)] Source #

  • Returns a list of directions, each paired with its anti-parallel.
  • CAVEAT: each direction only appears once in the list, on an arbitrary side of a pair.

Functions

attackDirectionsForPawn :: LogicalColour -> [Direction] Source #

The directions in which a Pawn can attack.

listArrayByDirection :: IArray a e => [e] -> a Direction e Source #

Array-constructor.

Predicates

areAligned :: Direction -> Direction -> Bool Source #

Whether the two directions specified, are either parallel or anti-parallel.