GridPos
An object of type GridPos
represents a pair of integer coordinates. Such a pair can
be used to reference a point on a Grid.
The coordinate axes are named x
and y
. In this coordinate system, x
increases
“eastwards” and y` increases “southwards”.
GridPos
objects are immutable.
This class has an alias in the top-level package o1, so it’s accessible to students
simply via import o1.*
.
- Value parameters:
- x
an x coordinate
- y
a y coordinate
Value members
Concrete methods
Determines whether this grid position equals the given one. This is the case if the two have identical x and y coordinates.
Determines whether this grid position equals the given one. This is the case if the two have identical x and y coordinates.
Returns the “grid distance” between this GridPos
and the given one.
The grid distance between a
and b
equals a.xDiff(b).abs + a.yDiff(b).abs
.
Returns the “grid distance” between this GridPos
and the given one.
The grid distance between a
and b
equals a.xDiff(b).abs + a.yDiff(b).abs
.
Returns a grid position that “neighbors” this one in the given direction.
For instance, if this position has an x
of 10 and a y
of 20, and the direction
parameter is given the value CompassDir.South
, then the result has an x
of 10
and a y
of 21. Calling this method is essentially the same as calling relative
with a distance
of one.
Returns a grid position that “neighbors” this one in the given direction.
For instance, if this position has an x
of 10 and a y
of 20, and the direction
parameter is given the value CompassDir.South
, then the result has an x
of 10
and a y
of 21. Calling this method is essentially the same as calling relative
with a distance
of one.
Returns an infinite lazy-list of locations at increasing distances from this GridPos
in the given direction. For example, if this GridPos
is (10,1), and the direction
is South
, returns a list of (10,2), (10,3), (10,4), etc.
Returns an infinite lazy-list of locations at increasing distances from this GridPos
in the given direction. For example, if this GridPos
is (10,1), and the direction
is South
, returns a list of (10,2), (10,3), (10,4), etc.
Returns another grid position that is in the given direction from this one and at a given distance.
Returns another grid position that is in the given direction from this one and at a given distance.
For instance, say this position has an x
of 10 and a y
of 20. If direction
is
CompassDir.North
and distance
is 3, then the result has an x
of 10 and a y
of 17.
- See also:
Returns a textual description of this position. The description is of the form "(x,y)"
.
Returns a textual description of this position. The description is of the form "(x,y)"
.
- Definition Classes
Returns the difference between the x
coordinate of this GridPos
and that of the given
GridPos
. The result is negative if the x
coordinate of this GridPos
is greater.
Returns the difference between the x
coordinate of this GridPos
and that of the given
GridPos
. The result is negative if the x
coordinate of this GridPos
is greater.
Determines if the given GridPos
is west or east of this one. Returns East
if this
GridPos
’s x
coordinate is less than another
’s and West
if the opposite is true.
Wraps that return value in an Option
; None
means that the x
coordinates are equal.
Determines if the given GridPos
is west or east of this one. Returns East
if this
GridPos
’s x
coordinate is less than another
’s and West
if the opposite is true.
Wraps that return value in an Option
; None
means that the x
coordinates are equal.
Returns the difference between the y
coordinate of this GridPos
and that of the given
GridPos
. The result is negative if the y
coordinate of this GridPos
is greater.
Returns the difference between the y
coordinate of this GridPos
and that of the given
GridPos
. The result is negative if the y
coordinate of this GridPos
is greater.
Determines if the given GridPos
is north or south of this one. Returns South
if this
GridPos
’s y
coordinate is less than another
’s and North
if the opposite is true.
Wraps that direction in an Option
; None
means that the y
coordinates are equal.
Determines if the given GridPos
is north or south of this one. Returns South
if this
GridPos
’s y
coordinate is less than another
’s and North
if the opposite is true.
Wraps that direction in an Option
; None
means that the y
coordinates are equal.