Download - Trabajo P6 - AESMcooking

Transcript
  • 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.