Está en la página 1de 8

UNIVERSIDAD DEL VALLE DE GUATEMALA

Facultad de Ingeniería

Análisis del proyecto No. 2,


Programación orientada a objetos

Claudia María Grajeda Díaz 10118


Sandra Paola García Sandoval 10205
Raúl Rivera 10099

Guatemala,
30 de septiembre de 2010
CLASE PRINCIPAL

ENTRADAS:
 El nombre del usuario para los punteos, el uso del mouse. El motion para que los botones sepan si el mouse se encuentra sobre uno de
ellos
 listeners para cuando el usuario presioné un botón, se pueda ejecutar la acción.

SALIDAS:
 Pantalla inicial (menú: jugar, ver instrucciones, punteos).
 Al presionar jugar salen 3 nuevos botones, los cuales muestran los diferentes niveles que se encuentran en el juego.
 También, se muestra la matriz con las calabazas, las siguientes calabazas, el punteo, tiempo que indica los segundos restantes para que
 se aumenten automáticamente las calabazas.
 Se observa el botón de sonido, si este es presionado, la música se pausará, si es presionado de vuelta, la música empieza de nuevo.
 Al perder muestra un nuevo menú de opciones las cuales son: ver puntaje, jugar de nuevo.

CONDICIONES:
 Las calabazas salen en la última columna de la fila donde está el mouse,
 Se eliminan las calabazas que formen una línea de 3 calabazas iguales como mínimo o una "L" parada o acostada.
 Al empezar el juego salen las 2 columnas del centro llenas con calabazas.
 El jugador pierde si las calabazas llegan a la última columna de cualquiera de los lados.
 La imagen del hueso elimina la fila entera pero si se coloca en la última columna pierde.
 La imagen de la calavera elimina todas las imágenes de las calabazas que tengan el mismo color a la que toque, quede a la par.
 Al aumentar de nivel el tamaño de la matriz disminuye.
 Al terminar el tiempo al siguiente tiempo, al siguiente tiro se muestran más calabazas en pantalla.
 Al presionar el botón de volumen, el sonido se pausa y si se vuelve a presionar este empieza de nuevo.
 Al presionar puntaje, solicita el nombre del jugador y después de presionar enter aparece la lista de punteos.
 Primero verifica los extremos de la matriz y luego elimina, es decir, si junta 3 en un extremo, este igual pierde.
 El usuario nunca puede topar uno de los extremos con calabazas.
REPETICIONES:
 El conteo del tiempo, al llegar a cero, nuevamente empieza a contar
 El random para que salgan las calabazas.
 Cuando el tiempo termina, salen nuevas calabazas
 El juego se repite mientras el usuario cambie de nivel.
 Verificar después de cada movimiento si hay calabazas en la primera y última columna. (if para cada columna)
 Verificar que hayan 3 o más juntas. (for para recorrer los botones, una para fila, otra para las columnas)
 Las instrucciones se muestran en pantalla, mientras el usuario presioné instrucciones.

----------------------------------------------------------------------------------------------------------------------------

Clase tablero: clase principal

Método:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publicó void main String[]args Muestra el menú principal, el cual muestra las opciones de
jugar, ver instrucciones y ver puntajes altos.
Al jugar, muestra la ventana principal, en la cual se observan
las calabazas en el centro y aparece una calabaza en el lado
derecho y una en el izquierdo, alineadas en la posición que se
encuentre el mouse. Al ver instrucciones, muestra el párrafo
con las instrucciones del juego. Y en puntajes altos muestra una
lista con los puntajes guardados durante la jugada.
--------------------------------------------------------------------------------------------------------------------------------------------

Clase StartPanel hereda de JPanel

Atributos de la clase:

VISIBILIDAD TIPO INDENTIFICADOR OBSERVACIONES


privado JLabel matrizbo Es la matriz de Labels, en donde aparecerán las calabazas al azar.
privado ImageIcon image Es la imagen que se colocará aleatoriamente para llenar las primeras 2 columnas.
privado Boolean ocupado Muestra si la casilla está ocupada o no.

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico No tiene StartPanel No tiene constructor, da características iniciales a la clase
Publico No tiene StartPanel Int fila, Constructor personalizo. Es para asignar nuevas características
Int columna a la matriz de lables
Int alto
Int ancho
Publico ImageIcon Siguiente No tiene Elige una imagen aleatoriamente, la cual es la siguiente
calabaza que aparecerá en el juego.
Publico Void Removertodo No tiene Este se encarga de remover todo lo que posee la matriz de
etiquetas.
Publico Void casillaLena No tiene Este muestra si la casilla se encuentra ocupada por una
calabaza o si se encuentra vacía.
-----------------------------------------------------------------------------------------------------------------------------------------------

Clase TableroPanel hereda de JPanel

Atributos de la clase:

VISIBILIDAD TIPO INDENTIFICADOR OBSERVACIONES


privado constante ANCHO es el ancho del panel
privado constante ALTO es el alto del panel
privado JButton start Es el botón de Start
privado JButton instrucciones es el botón de instrucciones
privado JButton punteo es el botón de punteo
privado JButton facil es el botón para el nivel fácil
privado JButton medio es el botón para el nivel medio
privado JButton dificil es el botón para el nivel difícil
privado JButton escuchar Es el botón para la música.
privado ImageIcon image Es la imagen que se pondrá en la pantalla principal
Privado JLabel label1 Es la etiqueta con la imagen en la pantalla principal
Privado Jlable[] Siguientes Es el label, donde se pondrán las siguientes calabazas
Privado JPanel Barra Es en donde se coloca el label siguientes, el tiempo restante, el botón
de música y el punteo
Privado Font F Es el formato para los botones
Privado BotonesListener Hacer Es un objeto de la clase BotonesListener, el cual detecta si ha sido
presionado y realiza su acción correspondiente
Privado StartPanel St Es un nuevo start panel, en el cual, se le asignan características
dependiendo del nivel
Privado AudioClip Música Es la música que se pondrá al juego
Privado ImageIcon Image2 Es la imagen para el botón de la música.
Privado Boolean Estado Es quien mira si ha sido o no presionado el botón de música
Privado JLabel Tiempol Es el label que muestra el tiempo restante
Privado Timer Tiempo Es el timer que irá cambiando cada segundo, el tiempo restante
Privado Int G Es para condiciones iniciales del TimerListener g=58
Privado String Sec Es la variable que agarra el valor de g como String y lo pone en el label
del tiempo
Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico No tiene TableroPanel No tiene Es el constructor, crea los diferentes botones con sus
respectivas funciones.
Crea el timer y los labels correspondientes.

CLASES INTERNAS DE LA CLASE TABLEROPANEL:

Clase BotonesListener implementa de ActionListener

- No posee atributos

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico Void actionPerformed ActionEventevent Revisa si un botón ha sido presionado, dependiendo del botón
presionado, aplica una acción.

Clase CalabazasTimerListener implementa de ActionListener

- No posee atributos

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico Void actionPerformed ActionEventevent Este se encarga de cambiar cada segundo, el valor de g es
decir, disminuye de 59 hasta 0, para mostrar el tiempo
restante.
-----------------------------------------------------------------------------------------------------------------------------------------------

Clase InstruccionesPanel hereda de JPanel

Atributos de la clase:

VISIBILIDAD TIPO INDENTIFICADOR OBSERVACIONES


privado Int WIDTH Es el ancho predefinido
privado Int HEIGHT Es el alto predefinido
privado JLabel Label1 Es el label, del título del panel de instrucciones
Privado JTextArea Ins Es en donde se encontraran escritas las instrucciones
Font F Es el formato para las palabras

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico No tiene InstruccionesPanel No tiene Constructor, da las condiciones iniciales muestra todas las
instrucciones del juego aplica fondo, tipo de letra y acción al
cerrar.
-----------------------------------------------------------------------------------------------------------------------------------------------
Clase PunteoPanel hereda de JPanel

Atributos de la clase:

VISIBILIDAD TIPO INDENTIFICADO OBSERVACIONES


R
privado Int WIDTH Es el ancho predefinido
privado Int HEIGHT Es el alto predefinido
privado JLabel Labelp Es el label del título del panel de punteo
Privado JTextArea Jugadores Es el área en se guardan los punteos y nombres de los usuarios
Font F Es el formato para las palabras
Privado JTextField Ingreso Es el área en donde el usuario puede ingresar su nombre
Privado Int Puntos Es el punteo que lleva el usuario al ingresar su nombre
Privado FieldListener Hacer Identifica si se ha realizado una acción dentro del JTextField
Privado String Count Es la lista que se va creando mientras el usuario ingresa sus diferentes punteos

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico No tiene PunteoPanel No tiene Constructor, asigna características iniciales crea el nuevo panel,
donde se muestran los punteos ingresados por el usuario

CLASES INTERNAS DE LA CLASE PUNTEOPANEL:

Clase FieldListener implementa de ActionListener


- no posee atributos

Métodos:

VISIBILIDAD TIPO DE RETORNO IDENTIFICADOR PARÁMETROS FUNCIONALIDAD


publico void actionPerformed ActionEvent Detecta si ha sucedido una acción en el TextField va guardando
evt los nombres con sus respectivos punteos.

También podría gustarte