Actividad 11: Creación de Personajes
¿Qué haremos?
En este primer incremento, nos enfocaremos en la implementación de la funcionalidad de creación de personajes. Esto incluirá la definición de las clases y atributos necesarios para representar a los personajes, así como la implementación de una interfaz gráfica básica para permitir a los jugadores crear sus personajes.
Diagrama de clases
Requisitos
- Definir el enumerado de statísticas: Crea un enumerado que contenga las estadísticas básicas de los personajes, como fuerza, agilidad, inteligencia, etc.
- Crear la clase Personaje: Define una clase
GameCharacterque tenga atributos para el nombre del personaje, un arreglo relacional para almacenar las estadísticas, y métodos para modificar estas estadísticas.- La clase
GameCharacterdebe incluir un método para mostrar las estadísticas actuales del personaje, incluyendo su nivel, clase, y habilidades especiales, puede o no ser sobrescrito por las clases hijas, todo dependerá de tu criterio de diseño. - La clase
GameCharacterdebe incluir un método para atacar a otro personaje, que calcule el daño basado en las estadísticas del personaje atacante y defensor, y que tenga en cuenta las habilidades especiales y el equipo equipado. - La clase
GameCharacterdebe incluir un método para recibir daño, que reduzca las estadísticas del personaje defensor de acuerdo al daño recibido, y que tenga en cuenta las habilidades especiales y el equipo equipado.
- La clase
- Crear el arbol de Clases: Define una jerarquía de al menos cuatro clases que hereden de
GameCharacter, representando diferentes tipos de personajes (por ejemplo, Guerrero, Mago, Arquero, etc.).- Cada clase hija debe incluir un método para subir de nivel, que aumente las estadísticas del personaje de acuerdo a su clase y nivel actual, así mismo deberá definirse los requisitos para subir de nivel, como la cantidad de experiencia necesaria y las bonificaciones que se otorgan al subir de nivel.
- Cada clase hija debe tener atributos y métodos específicos que reflejen las características únicas de ese tipo de personaje, como habilidades especiales o bonificaciones a ciertas estadísticas tanto cuando se crean, como cuando suben de nivel.
- Cada clase hija debe de incluir un arreglo para almacenar 5 habilidades especiales como máximo, y un método para agregar o eliminar habilidades de ese arreglo.
- Crear el arbol de Enemigos: Define una jerarquía de al menos cuatro clases que hereden de
GameCharacter, representando diferentes tipos de enemigos (por ejemplo, Goblin, Orco, Dragón, etc.).- Cada clase hija debe incluir un conjunto base de estadísticas para ese tipo de enemigo, que refleje sus características únicas y su nivel de dificultad. Estas estadísticas pueden ser diferentes a las de los personajes, y deben ser adecuadas para el tipo de enemigo que representan.
- Cada clase hija debe incluir un método para ajustar las estadísticas del enemigo de acuerdo al nivel del jugador, para asegurar que el combate sea desafiante pero justo. Este método debe ser llamado cada vez que un enemigo es generado, y debe ajustar las estadísticas del enemigo en función del nivel del jugador y de su propia dificultad base.
- Cada clase hija debe de incluir un arreglo para almacenar 3 habilidades especiales como máximo. Estas habilidades pueden ser diferentes a las de los personajes, y deben reflejar las características únicas de ese tipo de enemigo. Cada habilidad deberá tener un método para ser activada durante el combate, y su efecto debe ser implementado de acuerdo a su descripción.
- Cada clase hija deberá adecuar la función de ataque que permitirá a los enemigos usar sus habilidades especiales durante el combate, o en su defecto, usar su ataque básico, esto dependerá de tu criterio de diseño, sin embargo, deberás de incluir el uso de elementos aleatorios para determinar cuándo un enemigo usará una habilidad especial o su ataque básico.
- Implementación de Prueba: Crea una prueba de creación de un personaje y un enemigo, mostrando sus estadísticas y habilidades especiales. Además, implementa una simulación de un combate entre el personaje creado y el enemigo, mostrando cómo se aplican las estadísticas y habilidades especiales durante el combate.
Entregable
El entregable de esta actividad será un único archivo PDF con los siguientes contenidos:
- Portada: Incluye el título de la actividad, tu nombre, y cualquier otra información relevante.
- Código Fuente: Incluye el código fuente de tu implementación, con comentarios que expliquen la funcionalidad de cada clase, método y atributo.
- Prueba de Creación de Personajes: Incluye una sección con capturas de pantalla de la prueba de creación de personajes y la simulación de combate, mostrando cómo se aplican las estadísticas y habilidades especiales durante el combate.
- Conclusión: Incluye una sección de conclusión donde reflexiones sobre el proceso de implementación, los desafíos que enfrentaste, y cómo planeas abordar los siguientes incrementos de tu proyecto evolutivo.
Criterios de Evaluación
Para evaluar tu entrega, se considerará la siguiente checklist:
| Criterio | Puntos |
|---|---|
| Definición del enumerado de estadísticas | 10% |
Creación de la clase GameCharacter con los métodos requeridos | 20% |
| Creación de la jerarquía de clases para personajes | 20% |
| Creación de la jerarquía de clases para enemigos | 20% |
| Implementación de la prueba de creación de personajes y simulación de combate | 20% |
| Calidad del código y documentación | 10% |
Recuerda que la calidad del código y la documentación son aspectos importantes en la evaluación de tu entrega, así que asegúrate de escribir código limpio, bien estructurado y con comentarios claros que expliquen la funcionalidad de cada parte de tu implementación. Además, asegúrate de seguir las buenas prácticas de programación orientada a objetos para garantizar que tu código sea fácil de mantener y extender en los siguientes incrementos de tu proyecto evolutivo.