domingo, 26 de noviembre de 2006

Proyecto 0.2



Concepto del juego (75%)

Preparado para la posibilidad de añadir más colores.

Realización (40%)

Menú básico para iniciar la partida (y para activar los controles).

Incorporada rutina para limpiar el tablero cuando 2 estrellas o más se comunican. Está basado en el algoritmo 4-Way Flood Fill, que debido a las pocas casillas del tablero funciona bien a pesar de la recursividad; para que funcione utilizo 3 matrices bidimensionales a modo de sistemas de coordenadas: tablero, que guarda los colores situados en el tablero, stars, que guarda el color de las estrellas situadas en el tablero y flood, una matriz temporal usada por la rutina del "Flood Fill" para comprobar si una zona de un único color tiene más de dos estrellas. El funcionamiento es el siguiente:
  • Cuando se sitúa una cruz en el tablero se oculta el cursor y se lanza la rutina floodFill(color de la estrella) por cada estrella que haya en la matriz stars.
  • Si al lanzar floodFill() la casilla en flood ya está pintada es que ya hay una estrella en la zona; hacemos el floodFill() con un valor específico para poder eliminar todas las casillas posteriormente.
  • Reiniciamos la matriz flood y limpiamos tablero y stars de las casillas eliminadas
  • Si se han eliminado casillas mostramos la puntuación (casillas eliminadas en la jugada).
  • Lanzamos nueva cruz.
Funciona bastante bien pero en algunos casos se duplica el lanzamiento de nueva cruz, por lo que falla algunas veces.

Advertencia: los colores y la mayor parte de la presentación del juego es provisional y cambiará cuando toda la mecánica del juego esté bien definida.

No hay comentarios: