Package schule.ngb.zm

Enum Class Options.Direction

java.lang.Object
java.lang.Enum<Options.Direction>
schule.ngb.zm.Options.Direction
All Implemented Interfaces:
Serializable, Comparable<Options.Direction>, java.lang.constant.Constable
Enclosing class:
Options

public static enum Options.Direction extends Enum<Options.Direction>
Richtungen für die Ausrichtung von Formen. Richtungen sind durch Einheitsvektoren bzw. deren Kombination im Koordinatensystem der Zeichenfläche repräsentiert, wodurch mit ihnen gerechnet werden kann. Die Richtung DOWN ist beispielsweise gleich (1, 0).

Jede Richtung ist zusätzlich als Himmelsrichtung definiert. EAST ist äquivalent zu RIGHT als (0, 1) definiert. Auch wenn beide Werte dieselbe Richtung beschreiben sind sie nicht "gleich" (EAST != RIGHT). Um verschiedene Richtungen zuverlässig zu vergleichen, sollte daher equals(Direction) verwendet werden.

Für zusammengesetzten Richtungen wie NORTHEAST bzw UPRIGHT lassen sich mit in(Direction) und contains(Direction) Beziehungen zu den anderen Richtungen prüfen. Beispielsweise ist NORTHEAST.contains(NORTH) wahr.

  • Enum Constant Details

  • Field Details

    • x

      public final byte x
    • y

      public final byte y
  • Method Details

    • values

      public static Options.Direction[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Options.Direction valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • equals

      public boolean equals(Options.Direction dir)
      Prüft, ob die angegebene Richtung gleich dieser ist. Dabei werden die Komponenten des Richtungsvektors geprüft. Daher sind für die Methode beispielsweise NORTH und UP gleich.
      Parameters:
      dir - Eine andere Richtung.
      Returns:
      true, wenn die Richtungen dieselben Komponenten haben, false sonst.
    • in

      public boolean in(Options.Direction dir)
      Prüft, ob diese Richtung Tile der angegebenen Richtung ist.

      Beispielsweise ist NORTH Teil von NORTHWEST, aber nicht von SOUTHWEST. Dabei wird doe Art der Richtung nicht beachtet. UP ist daher auch Teil von NORTHWEST.

       NORTH.in(NORTHWEST) // true
       NORTH.in(SOUTHWEST) // false
       UP.in(NORTHWEST) // true
       
      Parameters:
      dir - Eine andere Richtung.
      Returns:
      true, wenn diese Richtungen Teil der anderen ist, false sonst.
    • contains

      public boolean contains(Options.Direction dir)
      Prüft, ob die angegebene Richtung Teil dieser Richtung ist.

      Beispielsweise ist NORTH Teil von NORTHWEST, aber nicht von SOUTHWEST. Dabei wird die Art der Richtung nicht beachtet. UP ist daher auch Teil von NORTHWEST.

       NORTHWEST.contains(NORTH) // true
       SOUTHWEST.in(NORTH) // false
       NORTHWEST.in(UP) // true
       
      Parameters:
      dir - Eine andere Richtung.
      Returns:
      true, wenn diese Richtungen Teil der anderen ist, false sonst.
    • asVector

      public Vector asVector()
      Returns:
      Diese Richtung als Vektor-Objekt.
    • inverse

      public Options.Direction inverse()
      Liefert die entgegengesetzte Richtung zu dieser.

      Es wird die Art der Richtung berücksichtigt. Das bedeutet, das Inverse von UP ist DOWN, während das Inverse von NORTH zu SOUTH wird.

      Returns:
      Die entgegengesetzte Richtung zu dieser.