Você está na página 1de 7

Universidad Del Valle de Guatemala

Programación Orientada a Objetos


Jose Algara 10033
Pablo Montenegro 10023

Análisis Proyecto 2

Entradas:
 Botón de instrucciones
 Botón de deshacer
 Botón de reiniciar
 Interacción con el tablero de juego
 Botones de esferas

Salidas:
 Interfaz de juego (tablero)
 Menú de botones (entradas)
 Menú de esferas
 Mensaje de Nivel
 Mensaje de cambio de nivel
 Mensaje de "Perdiste"

Condiciones:
 Se tiene que tener tres esferas en línea del mismo color para que desaparezcan
 Las esferas tiene que formar una línea recta vertical u horizontal
 Las esferas no se moverán si el impacto no va en esa dirección
 Se completa nivel solo cuando hayan desaparecido todas las esferas del cuadro
 Hay una cantidad limitada de esferas por usar
 El usuario no puede mover las esferas del tablero
 Perderá el nivel si el usuario se queda sin esferas, o si no desaparecen todas las
esferas del tablero

Repeticiones:
 Ciclos para revisar esferas
 Ciclos para listeners
 Ciclos para las posiciones de los botones
 Ciclos para presionar los botones
 Ciclo para revisar si el tablero esta vacio
 Ciclo para identificar que botón fue presionado
Algoritmo narrativo:
Inicio
Menú de Juego
Si Jugar
Empezar el juego
Mostrar Niveles
Avanzar en el juego
Si completar nivel
Siguiente nivel
Si completar todos los niveles
Mostrar mensaje "GANASTE"
Sino
Seguir en el juego
Si opción salir del juego
Volver al menú principal
Sino
Seguir en el juego
Fin si
Fin Si
Sino
Repetir el nivel
Fin Si
Si Instrucciones
Mostrar Instrucciones
Si Salir
Salir del juego
Sino
Seguir en pantalla
Fin si
Fin
Clase Esfera
Atributos:

Visibilidad Tipo Identificador Observaciones


private int color Color de la esfera
private ImageIcon imagen Imagen de la esfera

Métodos:
Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Public ------- Esfera --------- Inicializa un objeto esfera
Constructor
public ------- Esfera int color personalizado donde se
inicia la imagen
Asignación de color a una
public void setColor int color esfera, con la imagen de
la esfera
Se obtiene el color de una
public int getColor --------
esfera
Muestra el estado de los
public String toString -------- atributos del objeto, sin
parámetros.

Clase EsferaInventario
Atributos:

Visibilidad Tipo Identificador Observaciones


private boolean selected Se define para verificar si el
botón ha sido seleccionado o
no
private ImageIcon esfera Imagen de la esfera
private int cantidad Describe la cantidad de
esferas que posee cada
inventario
private int color Define el color de las esferas

Métodos:
Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Inicializa un objeto
Public ------- EsferaInventario ---------
EsferaInventario
Public ------- EsferaInventario boolean selected Constructor
int cantidad personalizado donde
int color se asignan los
atributos, junto con la
imagen de las esferas
Le asigna del atributo
Public void setSelected -------- selected a una variable
selected
Retorna la variable
Public boolean getSelected --------
selected
Asigna el atributo
Public void setCantidad int cantidad cantidad a la variable
cantidad
Retorna la variable
public int getCantidad --------
cantidad
Muestra el estado de
los atributos del
public String toString --------
objeto, sin
parámetros.

Clase Panel
Atributos:

Visibilidad Tipo Identificador Observaciones


private Tablero juego Objeto tablero
private GridLayout movimiento Objeto GridLayout
private JPanel interfaz Contenedor de los objetos

Métodos:
Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Constructor
personalizado que
Public ------- Panel int nivel
inicializa el panel para el
juego
Clase Tablero
Atributos:

Visibilidad Tipo Identificador Observaciones


private Esfera[][] Esferas Matriz principal de esferas
Private Int[][] bolas Simula la posición de cada
esfera, describiendo el valor
de su color
private Int nivel Numero de nivel del juego
Private Int Col Describe el color
seleccionado por
esferainventario
Private JPanel Matriz Representacion grafica de la
matriz de esferas
Private JPanel Botones Panel que contiene los
objetos esferainventario
private JLabel mensaje Mensaje que contiene el nivel
del juego
private GridLayout output Layout del tablero principal
private EsferaInventario Invent1 Boton de inventario 1
Private EsferaInventario Invent2 Boton de inventario 2
private EsferaInventario Invent3 Boton de inventario 3

Métodos:
Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Inicializa un objeto
Tablero, con su tamaño,
public ------- Tablero int nivel fondo, visibilidad, layout,
fuente, y agrega algunos
atributos al panel
Inicializa la matriz de los
public void setJuego int nivel
labels
Crea un JPanel el que
contiene los objetos
esferainventario. Utiliza
Public Void Inventario Int nivel un switch para escoger el
nivel que se desea jugar.
Recibe como parámetro
la variable nivel.
Se utilizan dos ciclos para
Int x
Public int Suficientes verificar las coordenadas
Int y
de las esferas del mismo
color, que se encuentran
en los mismos valores de
los ejes x y “y” de la
esfera seleccionada. Da
como valor de retorno la
cantidad de coordenadas
que se obtuvo.

Recibe como parámetros


las coordenadas de la
esfera seleccionada.
Ejecuta el método
Int x suficientes, obteniendo
Public Void Destruir
Int y como valor el numero de
coordenadas para utilizar
esta variable como fin
para la el ciclo de
eliminación.
Revisa que toda la matriz
de bolas posea valores 0 y
si se da esto aumenta en
Public boolean changeLevel ---------
uno el valor de nivel y
llama a los métodos
inventario y SetJuego
Se utiliza para crear un
panel que va contenido
Public Void Panelito --------- dentro del panel botones.
Este es agregado al panel
principal.

Clase Privada ClickListener


Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Agrega un listener al click
public void actionPerformed ActionEvent event para poder presionar el
botón con el click

Clase Privada InventarioListener


Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Metodo que asigna un
public void actionPerformed ActionEvent event listener a cada botón del
juego
Clase Privada ListenerInstrucciones
Tipo de
Visibilidad Identificador Parámetros Funcionalidad
retorno
Metodo que abre el
public void actionPerformed ActionEvent event JOptionPane, para poder
visualizar las intrucciones

Você também pode gostar