Trabajo P6 - AESMcooking
-
Author
carlesescriva92 -
Category
Documents
-
view
225 -
download
0
Embed Size (px)
Transcript of Trabajo P6 - AESMcooking
-
7/31/2019 Trabajo P6 - AESMcooking
1/13
Anlisis y Especificacin de
Sistemas Multimedia
Prctica 6:
Modelado con UML
Carles Escriv Cant
Rubn Dur Esquembre
Antonio Mudarra Martnez
Jorge Lilao Chinchilla
#AESMcooking
-
7/31/2019 Trabajo P6 - AESMcooking
2/13
Prctica 6 Modelado con UML - AESMcooking UA.
1
ndice
1. Introduccin.......................................................................................................................... 2
2. Diagramas de Casos de Uso.................................................................................................. 2
2.1. Diagrama general de casos de uso. .............................................................................. 2
2.2. Diagrama desarrollado de casos de uso. ..................................................................... 3
3. Diagramas de Clases. ............................................................................................................ 3
4. Diagramas de Secuencia....................................................................................................... 5
4.1. Diagrama de secuencia Empezar partida. ................................................................ 5
4.2. Diagrama de secuencia Elegir personaje.................................................................. 6
4.3. Diagrama de secuencia Comprar objetos................................................................. 6
5. Diagramas de Colaboracin. ................................................................................................ 7
5.1. Diagrama de colaboracin Empezar partida. ........................................................... 7
5.2. Diagrama de colaboracin Elegir aspecto. ............................................................... 8
5.3. Diagrama de colaboracin Comprar objetos. .......................................................... 8
6. Diagramas de Estados. ......................................................................................................... 9
6.1. Diagrama de estados Protagonista. ......................................................................... 9
6.2. Diagrama de estados Enemigos................................................................................ 9
6.3. Diagrama de estados Partida.................................................................................. 10
7. Diagramas de Actividades. ................................................................................................. 10
7.1. Diagrama de actividad Crear personaje. ................................................................ 10
7.2. Diagrama de actividad Subir nivel. ......................................................................... 11
7.3. Diagrama de actividad Comprar objetos................................................................ 12
-
7/31/2019 Trabajo P6 - AESMcooking
3/13
Prctica 6 Modelado con UML - AESMcooking UA.
2
1.Introduccin.A continuacin vamos a desarrollar los diagramas UML para el proyecto del videojuego The
Last Key. Dado que este proyecto no es relativamente grande, hemos tenido algunas
dificultades para aplicar todos los modelos UML y sus caractersticas.
No todos los casos de uso tendrn sus diagramas asociados, pero eso lo explicamos ms
adelante. Tambin es posible que algn diagrama no se visualice del todo correctamente ya
que era demasiado grande, pedimos disculpas por ello.
2.Diagramas de Casos de Uso.Hemos creado tres actores:
Jugador. Podr empezar la partida, elegir un personaje estndar o escoger la raza y sushabilidades. Despus el jugador deber escoger un nombre para su personaje. Una vez
terminado esto ya tenemos nuestro personaje creado el jugador estar preparado para
jugar. Una vez este jugando se podr hacer varias acciones. El jugador podr comprar
objetos y equipo para su personaje, subir de nivel cuando su indicador de experiencia
se llene, tambin podr guardar y cargar partida.
Programador. Es el encargado de programar el juego. Diseador. Se encargara de la parte del diseo del juego.
2.1. Diagrama general de casos de uso.Este diagrama muestra los casos de uso ms generales y globales del sistema.
-
7/31/2019 Trabajo P6 - AESMcooking
4/13
Prctica 6 Modelado con UML - AESMcooking UA.
3
2.2. Diagrama desarrollado de casos de uso.
De este diagrama hemos realizado los diagramas de secuencia y colaboracin de los siguientes
casos de uso: Empezar partida, elegir personaje y comprar objetos. Ya que los dems casos de
uso creemos que no tiene ningn sentido hacer ms diagramas, son casos de uso simples.
3.Diagramas de Clases.Tenemos una clase Main principal, que es en la que se ejecutar el juego, es decir, el bucle se
har en esta clase. Como ya se sabe, un videojuego es en esencia un bucle que no deja deejecutarse hasta que se termina la partida. Podramos dividirlo en varias partes, pero en
esencia son tres, primero, carga todo el contenido, segundo actualiza toda la lgica del juego,
en tercer lugar pinta por pantalla todos los elementos. El segundo y tercer paso se continan
ejecutando continuamente hasta que acaba el programa.
En esta clase Main creamos varias cosas, a saber, niveles y elementos de juego, es decir, la
propia clase main est creada por y para esos elementos y sin ellos por pantalla no se muestra
nada.
La clase Level no es ms que una matriz que nos indicara cmo generar el mapa de juego,leyendo filas y columnas y creando elementos de juego para representar esos tiles.
La clase Usound es una clase personalizada de audio, que servira para hacernos la vida ms
fcil, pudiendo almacenar todos los sonidos y msicas del juego y dndonos funcionalidades
sobre ellos, como ponerlos en bucles, pararlos o reproducirlos solo una vez.
Un Elemento de Juego no es ms que la clase padre de todos los elementos que se van a ver
por pantalla. Sus atributos sern, posicin, rotacin y escala, as como un booleano llamado
activo que har (cuando se ponga a false) que la clase Main la elimine en el siguiente ciclo.
-
7/31/2019 Trabajo P6 - AESMcooking
5/13
Prctica 6 Modelado con UML - AESMcooking UA.
4
Todos los elementos visibles son elementos de juego, pero con una serie de parmetros extra,
una lista de imgenes (Una sola si es una imagen esttica, o una lista con varias si es una
animacin), dos booleanos para comprobar si se les puede impactar o si son destruibles, y una
lista de sonidos asignados a l.
Los personajes del juego estn divididos en tres grandes grupos, los pnj (personaje no
jugador), pj (personaje jugador) y enemigo.
Para la clase personaje jugador necesitamos capturar las entradas desde teclado para as
poder saber que accin est intentando hacer el usuario. Tambin tiene como atributos la
municin y vida restantes, recordemos que si la vida llega a cero se termina la partida.
Tenemos un mtodo actualizar que se encarga de capturar el teclado y modificar posiciones y
estados, y en caso de ser pulsada la tecla de disparo se lanzar el mtodo Disparar.
Un personaje secundario o personaje no jugador tiene una lista de objetos a vender, un
movimiento aleatorio por el escenario en forma de lista de vector2 y varios mtodos, cobrar(cuando se quiere comprar el objeto que este personaje vende) o vaciar inventario para
cuando haya vendido el objeto. Estos personajes son inmortales y no se les puede hacer dao.
La clase enemigo es otra clase que hereda de elemento visible, su comportamiento est
definido por varios booleanos, atacando y agresivo, adems tiene un movimiento aleatorio
como el personaje secundario y tiene vida como el personaje jugador.
La clase enemigo tiene varios mtodos, Actualizar, que funciona igual que el del personaje
jugador con la diferencia que en este caso se aplica la lgica del enemigo o IA, programada en
este mtodo, aqu se llama a MovAleatorio para generar una ruta aleatoria cuando no se tenga
objetivo, y si el jugador est a la vista del enemigo este lanzar el mtodo ObjetivoJugador,
cambiando as la ruta por una que sea directa a por el usuario.
Por ultimo tanto enemigos como el personaje jugador pueden disparar, y cada vez que lo
hacen se genera un nuevo objeto de la clase Disparo, que tiene una trayectoria (definida por
su estado inicial y la rotacin del elemento que la caste) y un mtodo actualizar que ser el
encargado de actualizar su posicin y comprobar que haya impactado o no, destruyendo en
caso afirmativo el disparo y daando al objetivo impactado.
La clase main se encargara una vez todos los enemigos estn eliminados de generar un nuevo
nivel de la lista que tiene y avanzar en la aventura. En caso de que el personaje jugador
resultara muerto, la clase Main es la encargada de lanzar un ElementoVisible con la imagen de
Game Over y la posibilidad de empezar de nuevo el juego.
-
7/31/2019 Trabajo P6 - AESMcooking
6/13
Prctica 6 Modelado con UML - AESMcooking UA.
5
4.Diagramas de Secuencia.Hemos realizado tres diagramas de secuencia donde se muestra el flujo de las acciones
realizadas por los objetos de cada clase. Aqu se tiene en cuenta el tiempo, ya que es una
variable indispensable de este tipo de diagramas. Tendremos que seguir los pasos de izquierda
a derecha y de arriba hacia abajo.
4.1. Diagrama de secuencia Empezar partida.Aqu se recoge el diagrama que contiene la accin global de jugar. Una vez el jugador est
creado, se muestra las acciones que debe realizar sus objetos para matar a un enemigo de dos
golpes. Estamos simulando una posible situacin en el juego. Una vez el enemigo ha sidodestruido, obtenemos experiencia y dinero, se actualiza y podremos guardar la partida.
-
7/31/2019 Trabajo P6 - AESMcooking
7/13
Prctica 6 Modelado con UML - AESMcooking UA.
6
4.2. Diagrama de secuencia Elegir personaje.En este diagrama representamos las acciones para la creacin de un personaje con un aspecto.
Simplemente son dos acciones en las que nos crea el personaje y guardamos la configuracin.
Obviamente en medio de estas dos, el jugador tendr la posibilidad de elegir su aspecto, esto
viene explcito en la accin de DibujarElemento().
4.3. Diagrama de secuencia Comprar objetos.Ahora se muestra que hacemos internamente para que un personaje pueda comprar, por
ejemplo dos objetos. Una vez creado el personaje, hablamos con un personaje secundario y
nos dar la opcin de comprar objetos. Una vez terminada la compra, guardaremos la
configuracin. Implcitamente, el personaje secundario cobra el dinero al jugador y elimina del
inventario los objetos vendidos.
-
7/31/2019 Trabajo P6 - AESMcooking
8/13
Prctica 6 Modelado con UML - AESMcooking UA.
7
5.Diagramas de Colaboracin.Hemos realizado tres diagramas de colaboracin donde se muestra el flujo de las acciones
realizadas por los objetos de cada clase. Aqu no se tiene en cuenta el tiempo, pero si el
espacio. Los objetos se comunican entre s por el paso de mensajes.
5.1. Diagrama de colaboracin Empezar partida.En este diagrama visualizamos los mensajes que se pasan los objetos entre s y cmotranscurren las acciones para realizar una compra. La clase ElementoVisible crear un nuevo
personaje, mediante la accin DibujarElemento(). Este deber realizar la operacin
ComprarObjeto(). Posteriormente, el PersonajeSecundario realizar la funcin de
VenderElemento() y finalizaremos as el proceso de compra. Este proceso se realizar tantas
veces como objetos quiera comprar el jugador.
-
7/31/2019 Trabajo P6 - AESMcooking
9/13
Prctica 6 Modelado con UML - AESMcooking UA.
8
5.2. Diagrama de colaboracin Elegir aspecto.Este diagrama muestra el flujo de la accin global del juego, el de Jugar. Todas y cada una de
las funciones estas numeradas del 1 al 9 siguiendo un orden de ejecucin. Engloba todo el
proceso, desde que se crea el personaje hasta que se guarda la partida.
5.3. Diagrama de colaboracin Comprar objetos.Aqu se muestra la accin que el jugador deber realizar para elegir el aspecto de su personaje.
Simplemente son dos pasos que se realizan automticamente. Primero lo dibujamos y despus
guardamos su configuracin.
-
7/31/2019 Trabajo P6 - AESMcooking
10/13
Prctica 6 Modelado con UML - AESMcooking UA.
9
6.Diagramas de Estados.6.1. Diagrama de estados Protagonista.
La clase protagonista tiene 2 atributos: vida y municin. Su estado viene en funcin de estos
atributos. El protagonista dispara hasta que se queda sin municin y pasa a un estado en el
que es incapaz de disparar hasta que recoge ms municin. Igualmente, va recibiendo dao y
si el atributo vida llega a 0 el protagonista es destruido.
6.2. Diagrama de estados Enemigos.Este diagrama es muy simple. Cuando un enemigo se crea ataca con municin infinita hasta
que es destruido cuando su vida llega a 0.
-
7/31/2019 Trabajo P6 - AESMcooking
11/13
Prctica 6 Modelado con UML - AESMcooking UA.
10
6.3. Diagrama de estados Partida.Una partida est en juego hasta que se pulsa el botn pause. Si se vuelve a pulsar se sigue
jugando. La partida se destruye cuando el protagonista muere o cuando llega al final de la
pantalla.
7.Diagramas de Actividades.7.1. Diagrama de actividad Crear personaje.
Para crear un personaje primero tendremos que seleccionar la raza que queremos ser, luego
seleccionaremos el aspecto que tendr, despus escogeremos las habilidades que tendr el
personaje y por ultimo le pondremos un nombre.
-
7/31/2019 Trabajo P6 - AESMcooking
12/13
Prctica 6 Modelado con UML - AESMcooking UA.
11
7.2. Diagrama de actividad Subir nivel.Para que el personaje suba de nivel tendr que ir al men, si tiene experiencia suficiente subir
de nivel y tendr que subir unas estadsticas al personaje, luego aceptar para confirmar la
subida de nivel. Si el personaje no tiene experiencia suficiente no podr subir de nivel.
-
7/31/2019 Trabajo P6 - AESMcooking
13/13
Prctica 6 Modelado con UML - AESMcooking UA.
12
7.3. Diagrama de actividad Comprar objetos.El personaje tendr que ir a hablar con un vendedor, luego dentro del inventario de compras
tendr que seleccionar un objeto a comprar y luego confirmara la compra, una vez confirmada
se comprobara que el personaje tiene dinero suficiente para poder realizar la compra. Si el
personaje tiene dinero el objeto se pondr en su inventario y si no tiene suficiente saldr del
men de compra.