Actividades

Actividad 13: El combate por turnos

Implementar un sistema de combate por turnos para el personaje utilizando la metodología de desarrollo incremental en POO.

¿Qué haremos?

En esta actividad, se implementará un sistema de combate por turnos para el personaje, permitiendo a los jugadores interactuar con los enemigos y resolver batallas de manera eficiente. Se comenzará por la creación de la clase Combat y su integración con la clase PlayerCharacter, seguida por la implementación de la lógica de combate y la interacción con los enemigos.

Problemática

Para este incremento, nos centraremos en resolver la problemática de implementar un sistema de combate por turnos para el personaje, permitiendo a los jugadores interactuar con los enemigos y resolver batallas de manera eficiente, siguiendo los siguientes líneamientos:

  1. El sistema creará un objeto EnemyCharacter de forma aleatoria con el cual el PlayerCharacter deberá de interactuar, permitiendo al jugador resolver batallas de manera eficiente.
  2. En cada turno, él PlayerCharacter podrá realizar alguna de las siguientes acciones:
    • Atacar: Acción que calculará el daño realizado por el jugador al enemigo.
      • Se recomienda la fórmula: Daño=AtaqueDefensa
    • Inventario: Acción que permitirá al jugador gestionar su inventario y equipar objetos o usar pociones.
    • Huir: Acción que permitirá al jugador huir de la batalla.
  3. Se deberá determinar si él EnemyCharacter ha sido derrotado, en cuyo caso, se deberá asignar puntos de experiencia al PlayerCharacter y el EnemyCharacter se deberá eliminar para crear un nuevo enemigo aleatorio.
  4. En caso de que él EnemyCharacter no haya sido derrotado, este deberá continuar atacando con alguna de sus acciones (Funciones).
  5. Se deberá determinar si el PlayerCharacter ha sido derrotado, en cuyo caso, se deberá mostrar un mensaje de derrota y el juego se deberá finalizar, en caso contrario, se deberá continuar el combate repitiendo el ciclo desde el paso 2.
Recuerda que la fórmula es solamente sugerida, ya que si para tu lógica decides usar otros argumentos para el cálculo, no hay problema. Esto se debe a que cada uno de los equipos tiene total liberar en su forma de cálculo.

Implementación

En esta fase deberán crear al menos a 3 enemigos con sus respectivas características, implementar la lógica del combate y la interacción con los enemigos, y finalmente, integrar el sistema de combate con la clase PlayerCharacter.

Una vez solucionado lo anterior, deberán integrar el sistema de combate con la clase PlayerCharacter y usar la interfaz GUI para implementar el sistema de combate mediante el uso de bótones y un JTextArea para mostrar el texto del combate.

En este caso se prestará mayor importancia a la resolución del sistema de combate y su integración con la interfaz gráfica, ya que el sistema de combate es un componente crucial del juego y su implementación correctamente permitirá a los jugadores resolver batallas de manera eficiente.

Entrega

Para esta actividad, deberémos de contar con la entrega de la actividad 12, ya que esta actividad se basa en la implementación de la actividad anterior. Aunado a ello, se deberá entregar un solo documento PDF con el siguiente contenido:

  1. Portada con el título de la actividad, nombre de los integrantes del equipo, nombre del curso y fecha de entrega.
  2. Código fuente de las clases implementadas para el sistema de combate y los elementos de interface gráfica.
  3. Capturas de pantalla de la interfaz gráfica del inventario en funcionamiento.
  4. Breve explicación de cómo se implementó el sistema de combate y su integración con la interfaz de usuario, así como los retos y/o componentes que necesitaron crear para tal objetivo.
    • Debido a este punto es que la actividad 12 es un requisito para esta actividad, ya que se necesita la implementación de la clase PlayerCharacter e Inventory.
  5. Conclusión sobre el proceso de desarrollo incremental y cómo esta actividad contribuyó al avance del proyecto.
Recuerda que el objetivo de esta actividad es aplicar la metodología de desarrollo incremental en POO, por lo que es importante que cada incremento se construya sobre el trabajo realizado en los incrementos anteriores. Asegúrate de que tu implementación sea coherente y que cada parte del sistema funcione correctamente antes de avanzar al siguiente incremento.
Copyright Jesús Aurelio Castro Magaña © 2026