JPuzzle.Utilities
Class Posicion

java.lang.Object
  extended by JPuzzle.Utilities.Posicion

public class Posicion
extends java.lang.Object

Las posiciones representan un par de coordenadas, sirven para almacenar, comparar y realizar operaciones matemáticas (transformaciones) con direcciones y coordenadas. Ver java.awt.Point


Nested Class Summary
protected static class Posicion.Direccion
          Enumeración de las posibles direcciones que sirven para transformar una posición, permite generar una dirección aleatoria.
 
Constructor Summary
Posicion()
          Construye una nueva posición con el valor por defecto igual a 0, 0.
Posicion(int x, int y)
          Construye una nueva posición con los valores indicados en los parámetros x, y.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Compara con otro objeto para revisar si es una posición, y si es igual en los ejes x, y.
 int getX()
          Devuelve la coordenada en x.
 int getY()
          Devuelve la coordenada en y.
 int hashCode()
          Genera un valor hash para usar este componente en algoritmos de ordenación y comparación.
protected static Posicion posicionDireccion(Posicion.Direccion d)
          Obtiene una nueva posición de transformación, en función de la dirección indicada, con las coordenadas para realizar una tranformación.
 Posicion relativa(Posicion.Direccion d)
          Realiza una transformación relativa de la posición actual en base a una dirección indicada, obteniendo como resultado una nueva posición.
 void setX(int x)
          Asigna un valor a la coordenada en x.
 void setY(int y)
          Asigna un valor a la coordenada en y.
protected  Posicion transformar(Posicion p)
          Realiza una transformación de la posición actual en base a una posición indicada, obteniendo como resultado la suma.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Posicion

public Posicion()
Construye una nueva posición con el valor por defecto igual a 0, 0.


Posicion

public Posicion(int x,
                int y)
Construye una nueva posición con los valores indicados en los parámetros x, y.

Parameters:
x - el valor inicial en el eje x
y - el valor inicial en el eje y
Method Detail

equals

public boolean equals(java.lang.Object obj)
Compara con otro objeto para revisar si es una posición, y si es igual en los ejes x, y.

Overrides:
equals in class java.lang.Object
Parameters:
obj - el objeto a comparar
Returns:
verdadero si es una posición igual en los ejes x, y; sino falso

hashCode

public int hashCode()
Genera un valor hash para usar este componente en algoritmos de ordenación y comparación.

Overrides:
hashCode in class java.lang.Object
Returns:
un valor hash

posicionDireccion

protected static Posicion posicionDireccion(Posicion.Direccion d)
Obtiene una nueva posición de transformación, en función de la dirección indicada, con las coordenadas para realizar una tranformación.

Parameters:
d - la dirección para obtener la nueva posición de transformación
Returns:
una nueva posición de transformación con las coordenadas correctas

transformar

protected Posicion transformar(Posicion p)
Realiza una transformación de la posición actual en base a una posición indicada, obteniendo como resultado la suma. (x + dx, y + dy). Si la posición indicada es negativa regresa la operación inversa (x + (-dx)).

Parameters:
p - la posición con la cual vamos a transformar
Returns:
una nueva posición en función de la operación realizada

relativa

public Posicion relativa(Posicion.Direccion d)
Realiza una transformación relativa de la posición actual en base a una dirección indicada, obteniendo como resultado una nueva posición.

Parameters:
d - la direccion con la cual vamos a transformar la posición
Returns:
una nueva posición en función de la dirección indicada

getX

public int getX()
Devuelve la coordenada en x.

Returns:
la coordenada en x

setX

public void setX(int x)
Asigna un valor a la coordenada en x.

Parameters:
x - el valor de la coordenada en x

getY

public int getY()
Devuelve la coordenada en y.

Returns:
la coordenada en y

setY

public void setY(int y)
Asigna un valor a la coordenada en y.

Parameters:
y - el valor de la coordenada en y