Está en la página 1de 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

Prctica 6 Modelado con UML - AESMcooking UA.

ndice
1. 2. Introduccin.......................................................................................................................... 2 Diagramas de Casos de Uso.................................................................................................. 2 2.1. 2.2. 3. 4. Diagrama general de casos de uso. .............................................................................. 2 Diagrama desarrollado de casos de uso. ..................................................................... 3

Diagramas de Clases. ............................................................................................................ 3 Diagramas de Secuencia. ...................................................................................................... 5 4.1. 4.2. 4.3. Diagrama de secuencia Empezar partida. ................................................................ 5 Diagrama de secuencia Elegir personaje. ................................................................. 6 Diagrama de secuencia Comprar objetos................................................................. 6

5.

Diagramas de Colaboracin. ................................................................................................ 7 5.1. 5.2. 5.3. Diagrama de colaboracin Empezar partida. ........................................................... 7 Diagrama de colaboracin Elegir aspecto. ............................................................... 8 Diagrama de colaboracin Comprar objetos. .......................................................... 8

6.

Diagramas de Estados. ......................................................................................................... 9 6.1. 6.2. 6.3. Diagrama de estados Protagonista. ......................................................................... 9 Diagrama de estados Enemigos. ............................................................................... 9 Diagrama de estados Partida. ................................................................................. 10

7.

Diagramas de Actividades. ................................................................................................. 10 7.1. 7.2. 7.3. Diagrama de actividad Crear personaje. ................................................................ 10 Diagrama de actividad Subir nivel. ......................................................................... 11 Diagrama de actividad Comprar objetos................................................................ 12

Prctica 6 Modelado con UML - AESMcooking UA.

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 sus habilidades. 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.

Prctica 6 Modelado con UML - AESMcooking UA.

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 de ejecutarse 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.

Prctica 6 Modelado con UML - AESMcooking UA. 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.

Prctica 6 Modelado con UML - AESMcooking UA.

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 sido destruido, obtenemos experiencia y dinero, se actualiza y podremos guardar la partida.

Prctica 6 Modelado con UML - AESMcooking UA.

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.

Prctica 6 Modelado con UML - AESMcooking UA.

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 cmo transcurren 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.

Prctica 6 Modelado con UML - AESMcooking UA.

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.

Prctica 6 Modelado con UML - AESMcooking UA.

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.

Prctica 6 Modelado con UML - AESMcooking UA.

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.

10

Prctica 6 Modelado con UML - AESMcooking UA.

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.

11

Prctica 6 Modelado con UML - AESMcooking UA.

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.

12

También podría gustarte