bishbosh-0.1.3.0: Plays chess.
Safe HaskellNone
LanguageHaskell2010

BishBosh.State.CoordinatesByRankByLogicalColour

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
Synopsis

Types

Type-synonyms

type BareCoordinatesByRankByLogicalColour = ArrayByLogicalColour CoordinatesByRank Source #

The coordinates of all the pieces of one rank, for both logical colours.

type CoordinatesByLogicalColour = ArrayByLogicalColour [Coordinates] Source #

A list of coordinates for each logical colour.

Data-types

data CoordinatesByRankByLogicalColour Source #

  • This structure allows one to determine the set of coordinates where a type of piece is located.
  • CAVEAT: the list of coordinates is unordered, so test for equality using deconstruct . sortCoordinates .

Instances

Instances details
NFData CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

SelfValidating CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Hashable CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Methods

listRandoms :: Zobrist positionHash -> CoordinatesByRankByLogicalColour -> [positionHash] Source #

Seeker CoordinatesByRankByLogicalColour Source #
  • Find any Knights of the specified logical colour, in attack-range around the specified coordinates.
  • CAVEAT: nothing is said about whether any piece at the specified coordinates belongs to the opponent, as one might expect.
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

View CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Mutator CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Censor CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Accountant CoordinatesByRankByLogicalColour Source # 
Instance details

Defined in BishBosh.State.CoordinatesByRankByLogicalColour

Functions

findPiecesOfColour Source #

Arguments

:: CoordinatesByRankByLogicalColour 
-> LogicalColour

The logical colour of the pieces to find.

-> [LocatedPiece] 

Locate all pieces of the specified logical colour.

assocs :: CoordinatesByRankByLogicalColour -> [(Piece, [Coordinates])] Source #

Build an association-list.

Accessors

getKingsCoordinates Source #

Arguments

:: CoordinatesByRankByLogicalColour 
-> LogicalColour

The logical colour of the King to find.

-> Coordinates 

Get the coordinates of the King of the specified logical colour.

Mutators

sortCoordinates :: Transformation Source #

Independently sort each list of coordinates.