## Diagrama

## Actores
Jugador
## Listado CU
CU-01 CU-01 Dar la opcion de configurar modalidad de pelea
CU-02 Inicia la pelea
CU-03 Dar control sobre el personaje
CU-04 Mostrar datos de pelea en historial
CU-05 Mostrar Leaderboard
## Plantillas
### Dar la opción de configurar modalidad de pelea
| CU-01 | Dar la opción de configurar modalidad de pelea
| ------------------- | --
| **Actores** | Jugador
| **Propósito** | Definir valores que dictarán la modalidad de la pelea
| **Precondición** | No aplica
| **Flujo Principal** | 1. Se presenta pantalla principal con opción de iniciar una pelea. <br> 2. Al ingresar se presenta pantalla de configuración de pelea. <br> 3. Se ingresa nombre de Jugador1. <br> 4. Se define el tipo de Jugador1. <br> 5. Se ingresa nombre de Jugador2. <br> 6. Se define el tipo de Jugador2. <br> 7. Se continúa con CU-02.
| **Subflujos** | 7.1. Si no se ingresa nombre de Jugador1 y es tipo Bot, el sistema rellenará con un nombre predeterminado. <br> 7.2. Si no se ingresa nombre de Jugador2 y es tipo Bot, el sistema rellenará con un nombre predeterminado.
| **Excepciones** | 7.1. Si no se ingresa nombre de Jugador1 y es tipo Jugador, no se continúa con CU-02 y se exige completar campo dado en paso 3. <br> 7.2. Si no se ingresa nombre de Jugador2 y es tipo Jugador, no se continúa con CU-02 y se exige completar campo dado en paso 3.
| **Comentarios** | No aplica
### Inicia la pelea
| CU-02 | Inicia la pelea
| ------------------- | --
| **Actores** | Jugador
| **Propósito** | Comenzar una pelea
| **Precondición** | Ambos Personajes deben tener un nombre
| **Flujo Principal** | 1. Se muestra boton para iniciar la pelea. <br> 2. Al presionar boton Iniciar pelea se inicia la pela.
| Subflujos | No aplica
| Excepciones | No aplica
| Comentarios | No aplica
### Dar control sobre el personaje
| CU-03 | Dar control sobre el personaje
| ------------------- | --
| **Actores** | Jugador
| **Propósito** | Permitir jugar al usuario
| **Precondición** | El usuario debe tener un teclado
| **Flujo Principal** | 1. El sistema espera a que el Jugador presione una tecla. <br> 2. Si se presiona una tecla de movimiento el personaje se moverá. <br> 3. Si se presiona una tecla de ataque el personaje atacará. <br> 4. Si se presiona la tecla de escudo, el personaje se cubrirá.
| **Subflujos** | 2.1. Si se presionan teclas de movimiento contrarias al mismo tiempo el personaje no se moverá. <br> 2.2. Si se presiona la tecla asignada al escudo o una tecla de ataque, el personaje dejará de moverse si lo está haciendo. <br> 3.1. Si se presionan dos teclas de ataque al mismo tiempo solo se ejecutará la acción que sea registrada antes.
| **Excepciones** | No aplica
| **Comentarios** | No aplica
### Mostrar datos de pelea en historial
| CU-04 | Mostrar datos de pelea en historial
| ------------------- | --
| **Actores** | Jugador
| **Propósito** | Dar cuenta al usuario de su crecimiento en el juego
| **Precondición** | No aplica
| **Flujo Principal** | 1. Se presenta en pantalla principal una opción para acceder al historial. <br> 2. Se muestra un cuadro en el que se ingresa un nombre de un usuario. <br> 3. Si el usuario es encontrado se muestra una lista con su historial de peleas.
| **Subflujos** | 2.1. Si el campo está vacio no se muestra nada <br> 3.1. Si no se encuentra el usuario no se muestra nada.
| **Excepciones** | No aplica
| **Comentarios** | No aplica
### Mostrar Leaderboard
| CU-05 | Mostrar Leaderboard
| ------------------- | --
| **Actores** | Jugador
| **Propósito** | Dar cuenta de un ranking entre los jugadores registrados en el juego
| **Precondición** | No aplica
| **Flujo Principal** | 1. Se presenta en pantalla principal una opción para acceder al leaderboard. <br> 2. Se mostrará una lista con todos los jugadores ordenados en función a cuantas partidas han ganado
| **Subflujos** | 2.1. Si no existe registro de algún jugador la lista se mostrará vacia.
| **Excepciones** | No aplica
| **Comentarios** | No aplica