Package es.ull.mazesolver.util
Enum Class Direction
- All Implemented Interfaces:
Serializable
,Comparable<Direction>
,Constable
Enum que representa una dirección de movimiento en 2D. Cada posible opción es
un flag, por lo que se pueden hacer operaciones de bit para representar
varias direcciones en la misma variable simultáneamente.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum Constants -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic int
Número máximo de direcciones.short
Valor asociado a una dirección (campo de bits). -
Method Summary
Modifier and TypeMethodDescriptionDescompone la dirección en sus componentes x e y, con una magnitud de 1.static Direction
fromIndex(int index)
Devuelve la dirección asociada a un índice.static Direction
fromPoints(Point p1, Point p2)
Extrae la dirección asociada al paso entre 2 posiciones contiguas.static Direction
fromValue(short value)
Transforma un short en dirección, comparando sus valores directamente.Invierte la posición actual.boolean
boolean
Desplaza un punto en la dirección y lo guarda en un punto nuevo.static Direction
random()
Crea una dirección de forma aleatoria.Rota la dirección absoluta actual en el sentido indicado.static Direction
Returns the enum constant of this class with the specified name.static Direction[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
NONE
-
UP
-
DOWN
-
LEFT
-
RIGHT
-
-
Field Details
-
MAX_DIRECTIONS
public static int MAX_DIRECTIONSNúmero máximo de direcciones. -
val
public short valValor asociado a una dirección (campo de bits).
-
-
Method Details
-
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
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 nameNullPointerException
- if the argument is null
-
fromValue
Transforma un short en dirección, comparando sus valores directamente.- Parameters:
value
- Valor (dentro de los valores posibles de dirección).- Returns:
- Dirección asociada a ese valor.
-
fromIndex
Devuelve la dirección asociada a un índice.- Parameters:
index
- Índice de la dirección. El orden es el siguiente:- NONE
- UP
- DOWN
- LEFT
- RIGHT
- Returns:
- Dirección asociada al índice.
-
fromPoints
Extrae la dirección asociada al paso entre 2 posiciones contiguas.- Parameters:
p1
- Posición de inicio.p2
- Posición de destino.- Returns:
- La dirección que une los 2 puntos contiguos o
null
si los puntos no están contiguos,
-
random
Crea una dirección de forma aleatoria.- Returns:
- Una dirección aleatoria. No va a ser
Direction.NONE
.
-
decompose
Descompone la dirección en sus componentes x e y, con una magnitud de 1.- Returns:
- Pareja con la descomposición de la dirección (x, y).
-
getOpposite
Invierte la posición actual.- Returns:
- Dirección contraria de la actual.
-
rotate
Rota la dirección absoluta actual en el sentido indicado.- Parameters:
rot
- Sentido de rotación que aplicar.- Returns:
- La nueva dirección rotada.
-
movePoint
Desplaza un punto en la dirección y lo guarda en un punto nuevo.- Parameters:
p
- Punto que se desea mover en esta dirección.- Returns:
- Nuevo punto equivalente al indicado desplazado en esta dirección.
-
isVertical
public boolean isVertical()- Returns:
- Si la dirección es vertical.
-
isHorizontal
public boolean isHorizontal()- Returns:
- Si la dirección es horizontal.
-