net.mazewar
Class Direction

java.lang.Object
  extended by net.mazewar.Direction

public class Direction
extends java.lang.Object

A representation of the for Cardinal Directions with associated utility methods.

Version:
$Id: Direction.java 339 2004-01-23 20:06:22Z geoffw $
Author:
Geoffrey Washburn <geoffw@cis.upenn.edu>

Field Summary
static Direction East
          The Eastward Cardinal Direction.
static Direction North
          The Northward Cardinal Direction.
static Direction South
          The Southward Cardinal Direction.
static Direction West
          The Westward Cardinal Direction.
 
Constructor Summary
Direction(int direction)
          Create a new direction from an internal representation
 
Method Summary
 boolean equals(java.lang.Object o)
          Compare Directions for equality.
 int getDirection()
           
 Direction invert()
          Create a new direction by rotating this one one hundred eighty degrees.
static Direction random()
          Create a Direction randomly.
 java.lang.String toString()
          Produce a String representation of a direction.
 Direction turnLeft()
          Create a new Direction by rotating this one ninety degrees counter-clockwise.
 Direction turnRight()
          Create a new Direction by rotating this one ninety degrees clockwise.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

North

public static final Direction North
The Northward Cardinal Direction.


East

public static final Direction East
The Eastward Cardinal Direction.


South

public static final Direction South
The Southward Cardinal Direction.


West

public static final Direction West
The Westward Cardinal Direction.

Constructor Detail

Direction

public Direction(int direction)
Create a new direction from an internal representation

Method Detail

getDirection

public int getDirection()

equals

public boolean equals(java.lang.Object o)
Compare Directions for equality.

Overrides:
equals in class java.lang.Object

random

public static Direction random()
Create a Direction randomly.

Returns:
A random Cardinal Direction.

turnLeft

public Direction turnLeft()
Create a new Direction by rotating this one ninety degrees counter-clockwise.

Returns:
A Direction resulting from turning left.

turnRight

public Direction turnRight()
Create a new Direction by rotating this one ninety degrees clockwise.

Returns:
A Direction resulting from turning right.

invert

public Direction invert()
Create a new direction by rotating this one one hundred eighty degrees.

Returns:
A Direction that has been flipped.

toString

public java.lang.String toString()
Produce a String representation of a direction.

Overrides:
toString in class java.lang.Object
Returns:
This Direction's String representation.