Definición de Proyecto Evolutivo
¿Qué haremos?
Para el desarrollo de las últimas unidades, trabajaremos en el desarrollo evolutivo de un RPG (Role-Playing Game) utilizando la metodología de desarrollo incremental en Programación Orientada a Objetos (POO), con el lenguaje de programación Java y la librería gráfica Swing.
Alcance del proyecto
El proyecto consistirá en la creación de un juego de rol básico, donde los jugadores podrán crear personajes, y administrarlos en 4 slots de personajes. El juego incluirá funcionalidades como la creación de personajes, la gestión de inventarios, y la interacción líneal con enemigos y un sistema de combate básico por turnos.
Requisitos del proyecto
- Creación de Personajes: Los jugadores podrán crear personajes con atributos como fuerza, agilidad, inteligencia, y salud. Cada personaje tendrá un nombre y una clase (guerrero, mago, arquero)
- Para efectos del proyecto limitaremos la creación de personajes a un máximo de 4 slots, lo que permitirá a los jugadores gestionar un grupo de personajes a lo largo del juego.
- Limitaremos las clases a tres opciones: guerrero, mago, y arquero, cada una con sus propias fortalezas y debilidades en términos de atributos y habilidades, y los slots de equipo disponibles.
- Gestión de Inventarios: Los personajes podrán recoger y gestionar objetos como armas, armaduras, pociones, y otros ítems que afectarán sus atributos.
- Sistema de Combate por Turnos: Implementar un sistema de combate básico por turnos, donde los personajes puedan atacar, defenderse, usar habilidades especiales, o utilizar objetos del inventario.
- Interacción con Enemigos: Los personajes podrán enfrentarse a enemigos controlados por la IA, cada uno con sus propias estadísticas y comportamientos.
- Para simplificar el desarrollo, los enemigos serán limitados a un conjunto predefinido de tipos (por ejemplo, goblins, orcos, y dragones), cada uno con sus propias características y habilidades.
- La interacción con los enemigos se limitará a combates por turnos, sin incluir elementos de exploración o misiones secundarias, para mantener el enfoque en la mecánica de combate y la gestión de personajes.
- Interfaz Gráfica: Utilizar la librería Swing para crear una interfaz gráfica que permita a los jugadores interactuar con el juego de manera visual y amigable.
- La interfaz gráfica se limitará a una ventana principal con menús para la creación de personajes, gestión de inventarios, y el sistema de combate, sin incluir elementos gráficos avanzados o animaciones, para mantener el enfoque en la funcionalidad básica del juego.
- Se implementarán componentes básicos de Swing como botones, paneles, y etiquetas para la interacción del usuario, sin incluir gráficos personalizados o efectos visuales complejos, para simplificar el desarrollo y centrarse en la mecánica del juego.
Metodología de Desarrollo Incremental
El desarrollo del proyecto se realizará utilizando la metodología de desarrollo incremental, que consiste en dividir el proyecto en pequeñas partes o incrementos, y desarrollar cada parte de manera iterativa. Esto permitirá ir construyendo el juego de manera progresiva, asegurando que cada funcionalidad esté completa y funcionando antes de pasar a la siguiente.
Incremento 1: Creación de Personajes
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.
Incremento 2: Gestión de Inventarios
En el segundo incremento, implementaremos la funcionalidad de gestión de inventarios. Esto incluirá la definición de las clases y métodos necesarios para representar los objetos del juego, así como la implementación de una interfaz gráfica para permitir a los jugadores gestionar sus inventarios.
Incremento 3: Sistema de Combate por Turnos
En el tercer incremento, nos enfocaremos en la implementación del sistema de combate por turnos. Esto incluirá la definición de las clases y métodos necesarios para representar a los enemigos y las acciones de combate, así como la implementación de una interfaz gráfica para permitir a los jugadores interactuar con el sistema de combate.
Incremento 4: Interacción con Enemigos
En el cuarto incremento, implementaremos la funcionalidad de interacción con enemigos. Esto incluirá la definición de las clases y métodos necesarios para representar a los enemigos y sus comportamientos, así como la implementación de una interfaz gráfica para permitir a los jugadores enfrentarse a los enemigos en combates por turnos.
Incremento 5: Interfaz Gráfica
En el quinto incremento, nos enfocaremos en la implementación de la interfaz gráfica utilizando la librería Swing. Esto incluirá la creación de una ventana principal con menús para la creación de personajes, gestión de inventarios, y el sistema de combate, utilizando componentes básicos de Swing como botones, paneles, y etiquetas para la interacción del usuario.
Conclusión
Este proyecto evolutivo nos permitirá aplicar los conceptos de Programación Orientada a Objetos y la metodología de desarrollo incremental para crear un juego de rol básico. A medida que avancemos en el desarrollo, iremos construyendo el juego de manera progresiva, asegurando que cada funcionalidad esté completa y funcionando antes de pasar a la siguiente. Al final del proyecto, tendremos un juego de rol funcional que podremos disfrutar y compartir con otros.
Actividad 10: Sistema de gestión de clínicas veterinarias
Desarrolla un sistema de gestión para una clínica veterinaria que permita a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos. Utiliza la clase InputValidator para validar las entradas del usuario.
Actividad 11: Creación de Personajes
Definir un proyecto evolutivo utilizando la metodología de desarrollo incremental en POO.