You are on page 1of 15

Universidad del Valle de Guatemala

Programació n Orientada a Objetos

Alejandra Reynoso

Análisis del Proyecto 2 (Stakka)

Luis Pedro Sosa Salvatierra

Luis Ernesto Orozco Godínez

Jose Miguel Ferná ndez

Secció n: 21
Entradas
Numero de Nombre de Modo de Entrada Descripció n
Entrada Entrada
1 Nombre teclado El usuario
ingresara su
nombre al juego
2 Aceptar Teclado o Mouse Se dará aceptar o
clic en aceptar
cuando se haya
ingresado el
nombre del
jugador
3 Selecció n de Mouse El usuario
figura seleccionar la
figura que el
desee mover
4 Selecció n del Mouse El usuario
cuadro donde seleccionara una
estará la figura casilla del juego
donde quiere
mover la figura
5 Aceptar Juego Mouse O teclado El usuario le
Ganado dara clic en
aceptar o dara
enter en al
teclado para
aceptar el
mensaje de
juego ganado
6 Aceptar Juego Mouse O teclado El usuario le
Perdido dara clic en
aceptar o dara
enter en al
teclado para
aceptar el
mensaje de
juego perdido
7 Reiniciar Juego Mouse El usuario le
dara clic en
reiniciar juego
cuando le
aparesca el
mensaje de
juego ganado o
perdido
8 Salir del Juego Mouse El usuario le
dará clic en salir
del juego cuando
le aparezca el
mensaje de
juego ganado o
perdido
9 Selecció n del Mouse El usuario
botó n reiniciar seleccionara con
el Mouse el
botó n de
Salidas
Numero de Nombre de Evento que Dispositivo Descripció n
Salida la Salida lo provoco de salida
1 Menú Correr pantalla Se mostrara
principal del programa el menú
juego principal del
juego Stakka
2 Ventana de Clic en ir al pantalla Se mostrara
ingreso de programa un mensaje
nombre donde el
usuario
ingresara su
nombre
3 Tablero de Clic en pantalla Se mostrara
Stakka aceptar de la la ventana
ventana de del juego
ingreso principal
nombre
4 Imagen clic en la pantalla se
seleccionada imagen de seleccionara
preferencia la imagen
que se
quiere
mover
5 Imagen a Clic en la pantalla Se dará clic
mover casilla que en la casilla
se quiere para mover
mover la imagen en
imagen una posició n
del tablero
6 Ventana de Cuando se pantalla Aparecerá
juego gane el juego una ventana
ganado que le avisa
al jugador
que ha
ganado el
juego
7 Ventana de Cuando Pantalla Se aparecer
juego pierda el una ventana
perdido juego avisá ndole al
jugador que
ha perdido el
juego
8 Botó n Cuando gane pantalla Le aparecerá
reiniciar o pierda el un botó n de
juego reiniciar
juego a la
ventana de
juego
ganado o
perdido
9 Botó n salir Cuando gane pantalla Le aparecerá
o pierda el un botó n de
juego salir del
juego a la
ventana de
juego
ganado o
perdido
10 Salida del Cuando de Pantalla El usuario
juego clic en salir saldrá del
del juego juego Stakka

Condiciones
Numero de Descripció n
Restricció n
1 En la realizació n del juego se podrá jugar
ú nicamente una persona a la vez y no se
contemplará el juego versus maquina.

2 El usuario solo podrá seleccionar una imagen a ala


que quiere mover en el tablero del juego
3 El usuario tendrá que seleccionar la casilla donde
quiere mover la imagen seleccionada
4 El usuario tendrá un numero de movimientos para
hacer en el juego.
5 El usuario solo podrá seleccionar un botó n cuando
le aparezca la ventana de juego ganado o perdido.
6 El usuario no podrá tener el mismo juego cuando
le de clic en reiniciar juego
7 El usuario no podrá regresar al juego, cuando le de
clic en el botó n de salir.

Ciclos
Parte Có digo Descripció n

Variable lleva la cuenta de


cuadros pintados;
IntVeces=0; Color que se pintará la
Condiciones iniciales parIntColorCasilla; casilla;
parIntCantidadCasillas; Cantidad de cuadros a
pintar de color.

Se aumenta cuando se
Variable de control IntVeces;
encuentra una casilla vacía.

Se debe de cumplir que: se


intVeces! haya coloreado el numero
Condició n de repetició n
=parIntCantidadCasillas de casillas que se solicitaron
se debían pintar.

if (casillaActual.getColor()
== SINCOLOR) {
La generació n aleatoria de
Segmento repetició n posiciones en X & Y para
casillaActual.setColor(parInt
(acciones) colorear una casilla que este
ColorCasilla);
vacía (que no tenga color).
intVeces++;
}

Cantidad de cuadros
Resultado esperado -- pintados aleatoriamente y
de color especificado.

Muestra el tablero de juego,


haciendo con una matriz [x]
[y], y llamando los metods
Mostrar Tablero de juego ----
para poder mostrar los
colores y el dibujo del
cuadro.
Cuando se mueven los
cuadros de movimiento, no
se mueven sus posiciones
Asignacion de colores de
sino el color que tenia, que a
cuadro al momento de corer ------
la vez de hace un switch
los cuadros de movimiento
para cada movimiento ya
sea horizontalmente o
verticalmente.
En este se utiliza un ciclo
ArrayList para guardar en
Guardas figuras a eliminar --------
unas variables las figuras
que se van a borrar
Este ciclo revisa que la
figura que fue lanzada
VerFiguras -----
reconozca el color de las
figuras alrededor
Sirve para identificar los
cuadros adyacentes de las
Vecinos ------- labels, en pocas palabras
este, sur, oeste, norte del
tablero
Mediante recursion y
arraylist de arraylist, va
almacenando en los
aborrar ------ arraylist las coordenas del
los cuadritos que deben
eliminarse por ser de igual
color.
Llama el arraylist que se
crea en aborrar y le cambia
a las figuras el color del
eliminar ----
background , fingiendo que
eliminan (se cambia el
color).

Algoritmo Narrativo

1. Inicio del programa


2. Aparecera el menu principal del programa
3. Clic en ir al programa
4. Ingresar nombre del usuario
a. Clic en aceptar
b. Clic en salir del juego
5. Aparecera la ventana con el juego
6. En la ventana del juego aparecera el nombre que se ingreso
7. En la ventana del juego aparecera un contador de movimientos
8. Se seleccioanara la imagen que se desea mover
a. La imagen puede ser en forma de L
i. La imagen puede ser de color azul
ii. La imagen puede ser de color rojo
iii. La imagen puede ser de color negro
iv. La imagen puede ser de color verde
b. La imagen puede ser en forma de cuadro
i. La imagen puede ser de color azul
ii. La imagen puede ser de color rojo
iii. La imagen puede ser de color negro
iv. La imagen puede ser de color verde
c. La imagen puede ser en forma de Z
i. La imagen puede ser de color azul
ii. La imagen puede ser de color rojo
iii. La imagen puede ser de color negro
iv. La imagen puede ser de color verde
d. La imagen puede terner o otras formas como el juego de
tetrix
i. La imagen puede ser de color azul
ii. La imagen puede ser de color rojo
iii. La imagen puede ser de color negro
iv. La imagen puede ser de color verde
9. Se da clic en la casilla donde se desea mover la imagen
10.La imagen aparacera donde en las casillas donde se selecciono
11.Se hace el procedimiento de los pasos 8 y 9
12.Se sigue jugando el juego
13.Por cada imagen que se lanzada en el tabalero sera contada por el
contador de movimientos
14.Si el usuario logra ganar antes de cumplir con los movimientos
establecido aparece lo siguiente:
a. Reiniciar juego
i. Se regresa al paso 4
b. Salir de juego
i. Se saldra del juego
15.Si el usuario no cumple con los movimientos establecidos, aparece
lo siguiente:
a. Reiniciar juego
i. Se regresa al paso 4
b. Salir de juego
i. Se saldra del juego
16.Fin del Programa

Clase Figuras

Atributos
Visibilidad Tipo Identificador Observaciones
Numero que
1 Protected Int num identifica la
Figura
Nú mero que
pone el color
2 Protected Int color
que tendrá la
imagen
Guarda el tipo
de sistema
operativo que
3 private String i
se usa para
poder buscar las
imá genes.

Métodos

Visibilidad Retorno Identificado Parámetros Observaciones


r
1 public N/A Figuras Int:num Inicializa los
objetos Figura
2 public void setNum Int:num Establece el
valor de num
3 public int getNum No recibe Obtiene el valor
de num.
4 public void setColor Int : color Establece el
valor del color
5 public int getColor No recibe Obtiene el valor
de color.

Clase Label

Atributos

Visibilidad Tipo Identificador Observaciones


Usado al
1 protected Boolean marcado momento de
eliminar
Guarda la
imagen que se
2 protected JLabel imagen
selecciono y se
va a lanzar
Guarda el color
3 protected int color
de la imagen
Verifica si la
4 protected boolean ocupado casilla está
ocupada o no
Numero que da
5 protected int tipo el tipo de figura
que se pondrá .

Métodos

Visibilidad Retorno Identificado Parámetros Observaciones


r
1 public N/A Label Sin parametros Contructor que
inicializa los
objetos Label
2 public boolean getMarcado Sin Parametros Revisa los
bloques, y
devuelve un
booleano para
saber si se
reviso o no un
cuadrado
3 public void setMarcado Boolean:marcad Le pone valor a
o marcado
4 public Void setOcupado Boolean : Da el valor a
ocupado ocupado
5 public boolean getOcupado N/A Devuleve el
valor de
ocupado
6 public Void setColor Int:color Pone el valor
de color
7 public Int getColor N/A Obtiene el valor
de color
8 public Void cambiarColor Int:color Cambia que
color se pondrá
al momento de
mover a un
jugador.

Clase Label2

Atributos

Visibilidad Tipo Identificador Observaciones


Revisa si se ha
1 Protected boolean click hecho click en
algun boton
Revisa si esta
2 Protected Boolean marcado marcado el
boton
3 Protected JLabel Imagen2 Imagen que
indica donde
disparar
Color que se va
4 protected int Color2
a disparar

Métodos

Visibilidad Retorno Identificado Parámetros Observaciones


r
1 Public N/A Label2 N/A Constructor
2 Public Boolean getClick N/A Revisa si ya se
hizo click en un
boton
3 Public void setClick Boolean:clic Pone el
k atributo click
en trae.
4 public void setMarcado2 Clic, Boolean Pone el valor a
marcado 2
5 public boolean getMarcado2 N/A Devuelve el
valor que tiene
marcado2

Clase StakkaPanel

Atributos

Visibilidad Tipo Identificador Observaciones


1 Protected JLabel punteo Muestra punteo
Muestra
2 Protected JLabel nombre nombre del
jugador
Muestra la
3 Protected JLabel imagen imagen que se
selecciono
Muestra el
4 Protected JLabel titulo nombre
“Stakka”
Muestra
5 Protected JLabel mensaje mensajes de
error
Guarda que tipo
de OS está
6 Private String a tratando de ser
ejecutada por el
programa.

Métodos
Visibilidad Retorno Identificado Parámetros Observaciones
r
1 public N/A StakkaPanel No recibe Constructor
2 public void reiniciar N/A Vuelve a iniciar
el juego

Clase ControlStakkaPanel

Atributos

Visibilidad Tipo Identificador Observaciones


Contiene
1 privaten JPanel Datos
botones
2 private JPanel Extra Contiene labels
Mantiene los
3 private int punteoJ
punteos
Contiene el
numero de
columna en la
4 protected int numero1
que se
encuentra un
boton
Contiene la
5 protected int numero2 columna de la
matriz de Labels
Array de
6 private Figuras[] figuras
botones
Array de
7 private Label2[] lugares
lanzadores
8 private Label[][] matriz Array de labels
Botó n que
9 private JButton reset
reinicia el juego.
Nú meros
10 Prívate Int Num2
randoms
Nú meros
11 private int Num3
randoms
Inicia el juego
poniéndoles
12 Private Int Temporal valores a las
figuras antes de
lanzarlas.
Inicia el juego
poniéndole
13 private int Temporal2
color a cada
enemigo.
14 Prívate Int colort
15 Prívate Int filaE Devuelve si las
las filas está n
ocupadas
Verifica si ya se
16 private boolean Click2 le hizo click al
panel del juego
Verifica si ya se
17 Prívate Boolean Marcado3
le hiz clic a algo.
Bloquea ciertos
lugares del
18 Prívate Boolean Bloqueado
mapa par que
no crashee.
Da un valor
19 Prívate Random() Random1
random
Da otro valor
20 Prívate Random() Random2
random
Guarda en que
sistema
21 private String a
operativa se
esta trabajando.

Métodos

Visibilidad Retorn Identificador Parámetro Observacion


o s es
1 public N/A ControlStakkaPa nombreJ : Constructor
nel String,
punteoJ : int
2 public void reiniciar No recibe Reinicia el
juego
3 public void iniciar N/A Pone figuras
inciales en el
juego.

Clase interna FiguraListener

Métodos

Visibilida Retorn Identificador Parámetros Observacione


d o s
1 public void ActionPerforme event:actioneven Esta atento a
d t ue suceda algo
con los
botones

Clase interna Label2Listener

Métodos
Visibili Retorno Identificad Parámetros Observaci
dad or ones
1 public void ActionPerfo event:Action Revisa si se
rmed Event le hizo
click al
label
2 public void eliminar No recibe Elimina los
bloques no
usados
3 public void mover No recibe Mueve la
figura
atravez del
array de
labels
4 public void verColor N/A
5 Public ArrayList<ArrayList<I Aborrar Int x,y, colorS Verifica si
nteger>> se puede
borrar las
casillas
contiguas a
una.
6 public ArrayList<ArrayList<I getVecinos Int x,y Devuelve
nteger>> los vecinos
que está n
cerca de
una pieza
para poder
ver si se
puede
eliminar.

Clase Stakka

Atributos

Visibilidad Tipo Identificador Observaciones


No contiene por ser la clase que contiene el main

Métodos

Visibilidad Retorno Identificado Parámetros Observaciones


r
1 public void main args:String[] Ejecuta el
static programa
Lista de Clases

1. Label
2. Label2
3. Figuras
4. Stakka Panel
5. Control Stakka Panel
6. Stakka

You might also like