Está en la página 1de 6

Análisis del Juego Blocky

Esta es la web del juego:


http://www.juggernart.com/games/free-online-puzzle-games/blocky.html

1.- Dimension: Solo es un entero por que el tablero es cuadrado


2.- Botón: los botones que va a tener el tablero, osea , el array de botones

Entradas

1.- Nombre del jugador: el jugador ingresa su nombre

2.- Tamaño del tablero: el jugador ingresa sólo 1 número para tamaño inicial del tablero por que
este es cuadrado
3.- (Ya en el juego) Presiona cada botón: el jugador presiona cuatro botones para formar un
cuadrilátero. El jugador debería seleccionar un cuadrilátero con esquinas del mismo color
4.- Confirmación de Inicio: el jugador indica si está listo para iniciar haciendo clic sobre un
botón que tiene el texto “sí”, o puede elegir un botón que tiene el texto “No”.

Salidas

1.- Mensaje Bienvenida


2.- Petición de entrada del nombre
3.- Instrucciones
4.- Petición del tamaño del tablero
5.- Pregunta ¿LISTO PARA INICIAR? Sí / No
6.- Tablero: el juego en sí mismo
7.- Junto con el tablero, el puntaje que ha acumulado el jugador y el nivel de dificultad
8.- Felicidades al pasar de nivel

Condiciones

1.- El tamaño del tablero debe ser un número entero entre un mínimo y un máximo establecido
por el programador
2.- (Ya en el juego) El jugador debe escoger cuadriláteros y sólo cuadriláteros cuyas esquinas sean
del mismo color

Añadir condiciones también del programador

Ciclos, Repeticiones

1.- Presentación del tablero cada vez que el jugador avanza de nivel: si el jugador inicia en un
nivel que no sea el más alto, entonces, cada vez que avanza de nivel, el tablero se debe volver a
mostrar pero más grande o complicado.
2.- Petición de datos: Los datos que se pidan al usuario deben ser ingresados correctamente, de
lo contrario es necesario volver a pedir los datos. Por ejemplo, si al usuario se le solicita el nivel
de inicio, este debe ingresar un valor numérico entero que se encuentre dentro ddee un rango
permitido.
Ciclos

Clase Método Funcion

Este ciclo for permite que en caso se hayan


presionado 4 botones, pero no formen un
Tablero ifClick
cuadrado y/o no sean del mismo color, se
desactive su atributo Selected.
Ciclo for que permite reiniciar la matriz que guarda
Tablero ifClick las coordenadas de 4 botones a 0, luego de que
sean presionados 4 botones
Se recorre cada uno de los espacios o celdas en la
matriz master_matrix, y en cada uno de esos
Tablero createMaster_Matrix
espacios se agrega un elemento Boton, al cual se le
añade también un ActionListener
A la matriz tipo Boton[][] botones, se le añaden
tantos elementos como sea el nivel del juego. Se
Tablero createPlay_Matrix
recorren filas y columnas para añadir el elemento
de master_matrix a botones correspondiente.
Teniendo un arreglo de coordenadas de botones,
se toma cada una de las posiciones y se recorre el
arreglo en busca de una que corresponda, fila con
Tablero ifCuadrado
fila y columna con columna, y se buscan las
coincidencias; también se compara el color del
botón en cada coordenada.
Se recorre un arreglo con las coordenadas de los
botones y se hacen ciclos for para encontrar aquel
Tablero getBotonInside
par coordenado cuya suma sea máxima y cuya
suma sea mínima.
Se crea un ciclo while el cual termina cuando una
variable llega a valer 4, desde 0. Permite saber la
Tablero getBotonInside posición en un arreglo del valor máximo y mínimo,
y por tanto las coordenadas de los botones
correspondientes.
Se recorren las filas y columnas de la mini matriz
que se forma luego de presionar 4 botones, y se
Tablero modificarBoton
modifican los atributos de los botones dentro de
esta adecuadamente.
Se recorren las filas y columnas de la matriz de
juego botones y se verifica si su atributo selected1
Tablero allBotonSelected
es true. En caso de que todos sean true, entonces
todos los botones ya fueron seleccionados.
Se recorre cada línea de un archivo de texto que
Data Data contiene las instrucciones del juego y se concatena
a un string, para añadirlas a un JTextArea.
Clase BOTÓN
ATRIBUTOS
1.- Carácter a mostrar: String
2.- Boolean de si ya fue seleccionado: Boolean
3.- String que identifica si el botón ya fue seleccionado: String
4.- Asigna el color del botón, se forma por medio de un array de colores.
5.- Varial, asigna el número a utiliza para seleccionar el color del botón.

MÉTODOS:

Set de símbolo:
parametros: char simbolo
Funcionalidad: permite asignar un valor al atributo simbolo
Retorno: ninguno

Get de símbolo:
Parámetros: ninguno
Funcionalidad: permite obtener el valor del atributo simbolo
Retorno: char símbolo

Set de Selected:
Parámetros: boolean selected
Funcionalidad: permite asignar un valor al atributo selected
Retorno: ninguno

Get de Selected:
Parámetros: ninguno
Funcionalidad: permite obtener el valor del atributo selected
Retorno: boolean selected

Set de BotonText:
Parámetros: String Text
Funcionalidad: permite cambiar el texto del Boton
Retorno: ninguno

Set de Color:
Parámetros: ninguno
Funcionalidad: permite asignar un color o backgroun al boton de entre 2 color predefinidos
Retorno: void

toString

Clase TABLERO:
ATRIBUTOS:
1.- Botón, la cual es una matriz de botones, en dos dimensiones.
2.- Dimention, muestra las dimensiones que va a poseer el tablero.
3.- Punteo, muestra el punteo que el jugador alcanza.
MÉTODOS:
1.- Tablero:
Parámetros: int dim
Función: permite crear un objeto tablero de forma personalizada, creando un
tablero Master y un tablero de Juego. Este último tiene dimensiones dim * dim.
Retorno: no tiene.

2.- IfClick:
Parámetros: int fila, int columna.
Función: este método se ejecuta cada vez que a un botón se le da click y hace uso
de casi todos los métodos que se realizan en esta clase.
Retorno: void

3.- CreateMaster_matrix:
Parámetros: ninguno
Función: permite crear la matriz maestra que contiene todos los botones con los
cuales se puede jugar durante el juego
EL tamaño de esta matriz es 16x16, el tamaño máximo de este tablero. A partir de
esta se forma el tablero de juego que contiene sólo la cantidad de botones que el
usuario indica.
Retorno: void
4.- ifCuadrado:
Parámetros: int[] coordenadas
Funcionalidad: permite saber si, dadas las coordenadas de 4 botones en un array,
estas coordenadas forman un cuadrado o no y de formarlo, verifican si sus esquinas
son del mismo color, y de serlo, entonces se modifican todos los botones
contenidos dentro de dicho cuadrado
Retorno: boolean cuadrado

5.- modificarBotones:
Parámetros: int fila, int columna
Función: permite modificar las características de un botón dadas su fila y columna
Retorno: void

6.- getBotonInside:
Parámetros: int[] coordenadas
Función: permite obtener un arreglo con las coordenadas de los botones que
forman el cuadrado, es decir, su esquina superior izquierda y su esquina inferior
derecha.
Retorno: int[] botones

7.- getDimention:
Parámetros: int[] esquinas
Funcionalidad: devuelve una matriz que contiene todas las coordenadas de botones
dada dos esquinas opuestas
Retorno: void

8.- getPunteo:
Parámetros: ninguno
Función: permite obtener el punteo actual
Retorno: int punteo

9.- allBotonSelected:
Parámetros: ninguno
Función: permite saber si todos los botones ya fueron seleccionados
Retorno: boolean all_selected

10.- toString:
Parámetros: ninguno
Funcionalidad: permite saber el estado actual de todos los atributos
Retorno: String descripción

11.- allBotonSelected:
Parámetros: ninguno
Función: permite saber si todos los botones ya fueron seleccionados
Retorno: boolean all_selected

12.- setPunteo:
Parámetros: int punteo
Función: permite modificar el valor del atributo punteo
Retorno: void

13.- getPunteo:
parametros: ninguno
funcion: permite obtener el punteo actual
retorno: int punteo

Clase: INTERFAZ
ATRIBUTOS:
1.- juego: Inicializa el tablero de juego.
2.- datos: Muestra el punteo y las instrucciones del juego.

MÉTODOS:
1.- Interfaz:
Parámetros: int dim
Función: permite asignar valores predeterminado predefinido a los atributos
Retorno: no tiene
2.- newLevel:
Parámetros: int dim
Función: permite crear un nuevo tablero de juego en función del parámetro dim
que especifica un tamaño de tablero
Retorno: void

Clase: BLOCKY
1.- Esta clase es la que ejecuta el programa, es la utilizada como Driver.
MÉTODOS:
Main: Inicializa el juego Blocky.

Clase: DATA
ATRIBUTOS:
1.- Punteo: Describe el punteo del usuario.
2.- rules: Describe las reglas del juego.

METODOS:
1.- Data:
Parámetros: ninguno
Funcionalidad: permite inicializar los atributos de objetos Data
Retorno: no tiene

2.- setNumero:
Parámetros: int punteo
Funcionalidad: permite asignar un nuevo texto al punteo que se despliega, el cual
coincide con el punteo que se va sumando al jugador en funcion de los cuadros
que ha seleccionado.
Retorno: void

3.- showFelicidades
parametros: ninguno
funcionalidad: permite mostrar una imagen de felicitacion al usuario cuando ha
completado el juego
retorno: void

4.- toString
parametros: ninguno
funcionalidad: permite mostrar el estado actual de los atributos de esta clase
retorno: String descripcion

También podría gustarte