PrintGame
Class Direction

java.lang.Object
  extended byPrintGame.Direction

public class Direction
extends java.lang.Object

class representing a direction and provides constants for using and writing directions


Field Summary
static java.lang.String DIR_DOWN
           
static java.lang.String DIR_LEFT
           
static java.lang.String DIR_RIGHT
           
static java.lang.String DIR_UP
           
protected  int direction_
          current direction
static int DIRECTION_DOWN
           
static int DIRECTION_LEFT
           
static int DIRECTION_RIGHT
           
static int DIRECTION_UP
           
protected static java.util.Random random_generator_
          static random generator for generating random directions
 
Constructor Summary
Direction()
          constructor sets the direction to a non legal value and creates a new random generator
Direction(Direction dir)
           
 
Method Summary
 int getDirection()
          method returns the current direction
 void invertDirection()
          method turns the direction around 180°
protected  boolean isLegalDirection(int direction)
          method detects whether the direction is legal or not
protected  void randomizeDirection()
          method generates a new direction - every direction is possible
 void randomizeNextDirection()
          method generates a new direction but not the invertet direction
 void setDirection(int direction)
          method to set the current direction
 java.lang.String toString()
          standard toString method for debugging
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DIRECTION_UP

public static final int DIRECTION_UP
See Also:
Constant Field Values

DIRECTION_RIGHT

public static final int DIRECTION_RIGHT
See Also:
Constant Field Values

DIRECTION_DOWN

public static final int DIRECTION_DOWN
See Also:
Constant Field Values

DIRECTION_LEFT

public static final int DIRECTION_LEFT
See Also:
Constant Field Values

DIR_UP

public static final java.lang.String DIR_UP
See Also:
Constant Field Values

DIR_RIGHT

public static final java.lang.String DIR_RIGHT
See Also:
Constant Field Values

DIR_DOWN

public static final java.lang.String DIR_DOWN
See Also:
Constant Field Values

DIR_LEFT

public static final java.lang.String DIR_LEFT
See Also:
Constant Field Values

direction_

protected int direction_
current direction


random_generator_

protected static java.util.Random random_generator_
static random generator for generating random directions

Constructor Detail

Direction

public Direction()
constructor sets the direction to a non legal value and creates a new random generator


Direction

public Direction(Direction dir)
Method Detail

isLegalDirection

protected boolean isLegalDirection(int direction)
method detects whether the direction is legal or not

Parameters:
direction - direction constant to check
Returns:
true if the direction is legal

getDirection

public int getDirection()
                 throws IllegalDirectionException
method returns the current direction

Returns:
direction constant
Throws:
IllegalDirectionException - thrown if the current direction is not legal

setDirection

public void setDirection(int direction)
                  throws IllegalDirectionException
method to set the current direction

Parameters:
direction - new direction constant
Throws:
IllegalDirectionException - thrown if the new direction constant is not legal

invertDirection

public void invertDirection()
                     throws IllegalDirectionException
method turns the direction around 180°

Throws:
IllegalDirectionException - thrown if the current direction is not legal

randomizeNextDirection

public void randomizeNextDirection()
                            throws IllegalDirectionException
method generates a new direction but not the invertet direction

Throws:
IllegalDirectionException - thrown if the current direction is not legal

randomizeDirection

protected void randomizeDirection()
method generates a new direction - every direction is possible


toString

public java.lang.String toString()
standard toString method for debugging

Returns:
info about the direction in string-format