Está en la página 1de 6

ANÁLISIS “BLOCKY”

a) ENTRADAS:

 Opción del menú que desee seleccionar el usuario.


 Seleccionar la opción de jugar:
o Coordenadas de la esquina superior izquierda y coordenadas de la esquina
inferior derecha.
o Ingresar la palabra “Salir” para terminar la partida.

b) SALIDAS:

 Menú principal.
 Tablero de juego.
 Puntuación.
 Mensajes para pedir datos.
 Mensajes de juego.

c) CONDICIONES:

 La opción del menú debe de ser un entero positivo y debe de estar dentro del
rango de opciones del menú.
 Al momento de ingresar las coordenadas deben ser números mayores a cero.
 Las coordenadas ingresadas deben de estar dentro del rango del tablero.
 Las coordenadas ingresadas no deben de estar en el mismo eje para así poder
crear un cuadrilátero.
 Debe revisar que las cuatro esquinas sean de figuras iguales.
 Al ingresar la palabra “Salir” se debe de terminar la partida.
 Al momento de llegar al último nivel, termine el juego, muestre la puntuación final
y muestre el menú principal.
 Si ya no hay mas blocks especiales se debe de pasar al próximo nivel.
 Dependiendo del nivel dependerá el tamaño del tablero y variedad de símbolos
que poseen los diferentes blocks.
 dependiendo del nivel el tamaño del tamaño del tablero y los símbolos especiales.
 Si el block eliminado es un block especial recibe 3 puntos, de caso contrario solo 1.
d) REPETICIONES:

 Dos ciclos “for” (uno dentro de otro) que recorren la matriz y van creando
objetos de tipo block en cada espacio.
o Se repite hasta que ambos contadores del “for” hayan llegado al
tamaño de la matriz.
 Dos ciclos “for” (uno dentro de otro) que recorren las posiciones seleccionadas
de la matriz para dar el punteo respectivo.
o Se repite hasta que ambos contadores del “for” hayan llegado a los
parámetros especificadas en los parámetros.
 Ciclo “for” que envía el String que representa los valores del eje x de la matriz.
o Se repite hasta que el contador llegue al valor del tamaño de la matriz.
 Cuatro ciclos “for” (un principal y tres dentro del principal) que crean el String
que representa lo que hay en la matriz, el principal va contando las filas de la
matriz y los otros tres representan cada una de las líneas que se imprimen por
fila.
o El primer “for” se repite hasta que el contador llegue al tamaño de la
matriz al igual que los otros tres.
 Dos ciclos “while” que recorren la matriz en busca de blocks especiales.
o Termina cuando ambos contadores del “while” hayan llegado al valor
del tamaño de la matriz o cuando se haya encontrado un block especial.
 Ciclo “do” que muestra el Menú principal.
o Se repite hasta que el usuario ingrese la opción de salir.
 Ciclo “while” que se encuentra dentro del ciclo del menú principal que pide la
dimensión del tablero que el usuario desee utilizar.
o Termina cuando el usuario ingresa un dato correcto.
 Ciclo “do” que se encuentra dentro del ciclo del menú principal para que
funcione el juego en general.
o Termina cuando el usuario pasa el nivel 6 o cuando ingresa la palabra
“salir”.
e) PROGRAMA PRINCIPAL –MÉTODO MAIN:

Algoritmo Narrativo:

Hacer
Mostrar opciones del menú
Pedir respuesta
En caso que la respuesta
Sea 1
Mientras repetición sea igual a 0
Pedir dimensión del tablero
Si el dato es correcto
repetición=1
sino
repetición=0
fin del si
fin del mientras
hacer
pedir coordenadas x1, y1
pedir coordenadas x2, y2
si x1, x2, y1 ni y2 son iguales a “salir”
salir=verdadero
mostrar “ADIOS!”
sino
destruir(x1, y1, x2, y2)
fin del si
mientras salir sea falso
fin del hacer
fin del sea 1
sea 2
mostrar las instrucciones
fin del sea 2
sea 3
mostrar “ADIOS!”
fin del sea 3
fin de en caso que
hasta que la respuesta sea salir.
Fin del hacer
f) DESCRIPCIÓN DE ATRIBUTOS Y MÉTODOS DE LAS CLASES:

 Clase Blocks

Atributos:

Visibilidad Tipo Identificador Observaciones


Private Int Color Guarda el color del
objeto.
Private Boolean Especial Guarda si el objeto
es especial o no.
Private String Signo Guarda el signo que
posee el objeto
dependiendo del
color.

Métodos:

Visibilidad Tipo de Identificador Parámetros Funcionalidad


Retorno
Public Void Blocks Nivel Constructor
personalizado
de la clase
blocks.
Public Void setEspecial Especial Determina si el
objeto es
especial o no.
Public Boolean getEspecial -------------------- Regresa si el
objeto es
especial o no.
Public String getSigno --------------------- Regresa el signo
que utiliza el
objeto.
 Clase Tablero

Métodos:

Visibilidad Tipo de Identificador Parámetros Funcionalidad


Retorno
Public Void Tablero -------------------- Constructor
predeterminado
de la clase.
(valores
predeterminados:
nivel=1,
tamanio=6)
Public Void Tablero Tamanio Constructor
personalizado de
la clase.
Public Int getTamanio -------------------- Regresa el
tamaño de la
matriz.
Public Int getNivel -------------------- Regresa el nivel
de la matriz.
Public Int Destruye X1,y1,x2,y2 Destruye los
blocks
seleccionados y
devuelve la
puntuación.
Public String Mostrar -------------------- Devuelve un
String
representando el
tablero y lo que
está dentro de él.
Public Boolean Gana -------------------- Revisa si aún hay
blocks especiales
y regresa un
boolean
indicando si hay o
no.
Atributos:

Visibilidad Tipo Identificador Observaciones


Private Blocks[][] Campo Matriz que contiene
los blocks del juego.
Private Int Nivel Guarda el nivel en el
que se encuentra el
jugador.
Private Int Tamanio Guarda el tamaño
del tablero.

También podría gustarte