/** * Javier Abellán. 25 de Abril de 2003 * * Juego del puzzle en el que hay varias piezas y un hueco. */ import java.util.LinkedList; import java.awt.Point; /** * Juego del puzzle. Mantiene el tablero y permite mover las piezas si el * movimiento es correcto. * Las piezas van de 1 en adelante. El hueco es el 0. */ public class Puzzle { public Puzzle (int numeroFilas, int numeroColumnas) { int i, j; int contador = 1; /* Se comprueban los parámetros de entrada */ if (numeroFilas > 0) this.numeroFilas = numeroFilas; if (numeroColumnas > 0) this.numeroColumnas = numeroColumnas; /* Se crea el array que representa el tablero */ tablero = new int [numeroFilas][numeroColumnas]; /* Se ponen las piezas en la posición inicial */ for (i=0; i= numeroFilas) || (columna < 0) || (columna >=numeroColumnas)) return false; return true; } /** Número de filas del puzzle. Por defecto 3 */ private int numeroFilas = 3; /** Número de columnas del puzzle. Por defecto 3 */ private int numeroColumnas = 3; /** Array bidimensional que representa el tablero. Las piezas serán enteros * 1, 2, 3, etc. El Hueco es el 0 */ private int [][] tablero; /* Fila en la que está el hueco */ private int filaHueco; /* Columna en la que está el hueco */ private int columnaHueco; /** Entero que representa el hueco en el puzzle */ static public final int HUECO=0; /** Lista de observadores */ private LinkedList observadores = new LinkedList(); }