|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectJPuzzle.Utilities.Tabla
JPuzzle.Utilities.Tablero
public class Tablero
El tablero es el controlador para realizar el juego propiamente, se encarga de todas las operaciones de creación, modificación, y actualización del modelo de datos, haciendo operaciones con todas las celdas en la tabla. Maneja la matriz de imágenes que se utilizan en las celdas. No es multi-threading!
Field Summary | |
---|---|
protected javax.swing.event.ChangeEvent |
changeEvent
El evento enviado cuando cambia el modelo de datos. |
protected javax.swing.event.EventListenerList |
listenerList
La lista de vistas que reciben eventos. |
protected Matriz |
matriz
El objeto generador de imágenes. |
Fields inherited from class JPuzzle.Utilities.Tabla |
---|
alto, ancho, celdas |
Constructor Summary | |
---|---|
Tablero()
Construye una nuevo tablero con el tamaño por defecto de 4 x 4. |
|
Tablero(int ancho,
int alto)
Construye un nuevo tablero con los parámetros indicados en ancho y alto. |
Method Summary | |
---|---|
void |
addChangeListener(javax.swing.event.ChangeListener l)
Agrega una vista receptora de eventos a la lista. |
protected void |
crear()
Crea la tabla de modelo de datos, asignandole un valor consecutivo incremental a cada celda, así como una parte de la imagen a mostrar. |
void |
desordenar(int nivel)
Desordena la tabla realizando movimientos aleatorios de cualquiera celda que se encuentre en las cuatro direcciónes cercana a la celda vacía, el objetivo es simular el (des)ordenamiento natural humano. |
protected Posicion |
encontrarCelda(int valor)
Intenta encontrar una celda en la tabla, indicada por su valor. |
protected Posicion |
encontrarVacio()
Intenta encontrar la celda vacía en la tabla, indicada por el valor nulo. |
protected void |
fireStateChanged()
Avisa a todas las vistas que hubo un cambio en la tabla modelo de datos. |
boolean |
intentarMover(Posicion p)
Intenta realizar un movimiento dado por la posicion p, validando todos los posibles movimimientos cercanos, y si es válido realiza la operación de intercambiar por el espacio vacío. |
protected void |
intercambiarCelda(Posicion origen,
Posicion destino)
Intercambia una celda especificada en la posición origen, por otra que se indica por la posición destino en la tabla de modelo de datos. |
void |
preview()
Muestra una vista previa del modelo de datos, en la consola de Java. |
void |
removeChangeListener(javax.swing.event.ChangeListener l)
Remueve una vista receptora de eventos de la lista. |
void |
resolver()
Resuelve el tablero. |
boolean |
verificarGanador()
Verifica si todas las celdas están ordenadas naturalmente. |
Methods inherited from class JPuzzle.Utilities.Tabla |
---|
esPosicionValida, getAlto, getAncho, getCelda, getTamano, setAlto, setAncho |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Matriz matriz
protected javax.swing.event.ChangeEvent changeEvent
protected javax.swing.event.EventListenerList listenerList
Constructor Detail |
---|
public Tablero()
public Tablero(int ancho, int alto)
ancho
- el valor inicial del ancho de la tablaalto
- el valor inicial del alto de la tablaMethod Detail |
---|
protected void intercambiarCelda(Posicion origen, Posicion destino)
origen
- la posición de la celda que se debe intercambiardestino
- la posición de la celda con la cual debe de intercambiarseprotected void crear()
protected Posicion encontrarVacio()
protected Posicion encontrarCelda(int valor)
valor
- el número ordinal de la celda en la tabla
public boolean intentarMover(Posicion p)
p
- la posición que se desea mover al espacio vacío
public boolean verificarGanador()
public void preview()
public void desordenar(int nivel)
nivel
- la cantidad de movimientos aleatorios a realizarpublic void resolver()
public void addChangeListener(javax.swing.event.ChangeListener l)
l
- la vista que va a recibir el eventopublic void removeChangeListener(javax.swing.event.ChangeListener l)
l
- la vista que se va a eliminarprotected void fireStateChanged()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |