LambdaHack-0.2.8: A roguelike game engine in early and active development

Safe HaskellNone



Basic cartesian geometry operations on 2D vectors.



newtype VectorXY Source

2D vectors in cartesian representation.


VectorXY (X, Y) 

shiftXY :: PointXY -> VectorXY -> PointXYSource

Shift a point by a vector.

movesXY :: [VectorXY]Source

Vectors of all unit moves in the chessboard metric, clockwise, starting north-west.

movesCardinalXY :: [VectorXY]Source

Vectors of all cardinal direction unit moves, clockwise, starting north.

chessDistXY :: VectorXY -> IntSource

The lenght of a vector in the chessboard metric, where diagonal moves cost 1.

euclidDistSqXY :: VectorXY -> IntSource

Squared euclidean length of a vector.

negXY :: VectorXY -> VectorXYSource

Reverse an arbirary vector.