Skip to content

Repository files navigation

🎮 Juego de Combate por Turnos — Steampunk

Este es el Proyecto Final de Programación Orientada a Objetos. Es un juego de combate por turnos con temática Steampunk, desarrollado en Python. Permite crear personajes de distintas clases, enfrentarlos en emocionantes combates, guardar su progreso y ver rankings de victorias, ofreciendo tanto una interfaz de consola (CLI) como una interfaz gráfica (GUI).

✨ Características Principales

  • Sistema de Clases (POO): Diseño orientado a objetos con una clase base Personaje y subclases únicas: Guerrero, Mago, Arquero, Sanador y Asesino. Cada clase tiene atributos y habilidades especiales.
  • Combate por Turnos: Motor de combate interactivo con ataques, curaciones y habilidades, integrando modificadores climáticos dinámicos (usando una API externa) y sistema de efectos de estado.
  • Persistencia de Datos: Guardado y carga automática de personajes utilizando archivos JSON (personajes.json).
  • Interfaz Dual:
    • Consola interactiva: Menú completo para gestionar todas las funciones.
    • Interfaz Gráfica (GUI): Interfaz amigable desarrollada con Tkinter.
  • Sistema de Ranking: Registro de victorias de los personajes que compiten.

🛠️ Requisitos del Sistema

Para ejecutar este proyecto, necesitas tener Python instalado en tu ordenador (recomendado Python 3.8 o superior).

Las dependencias externas están listadas en el archivo requirements.txt. Principalmente requiere la librería requests para las llamadas a la API del clima.

🚀 Cómo Iniciar el Juego

Sigue estos pasos para instalar y ejecutar el proyecto en tu máquina local:

1. Clonar o Descargar el Proyecto

Asegúrate de tener todos los archivos del proyecto en una carpeta.

2. Instalar Dependencias

Abre una terminal o consola de comandos, navega hasta la carpeta del proyecto y ejecuta el siguiente comando para instalar las librerías necesarias:

pip install -r requirements.txt

3. Ejecutar el Juego

Una vez instaladas las dependencias, inicia el juego ejecutando el archivo principal:

python main.py

🕹️ Guía de Uso Rápido

Al ejecutar main.py, verás un menú principal en la consola con las siguientes opciones:

  1. Crear personaje: Introduce un nombre y elige una de las 5 clases disponibles.
  2. Ver personajes: Lista todos los personajes creados y su estado actual.
  3. Iniciar combate: Selecciona a 2 personajes para que luchen entre sí.
  4. Guardar personajes: Guarda el progreso manualmente en personajes.json.
  5. Cargar personajes: Restaura a los personajes guardados previamente.
  6. Abrir interfaz gráfica: Inicia la versión GUI del juego (Tkinter).
  7. Ver ranking: Muestra a los mejores luchadores según sus victorias.
  8. Salir: Cierra el juego.

📂 Estructura del Proyecto

  • main.py: Punto de entrada de la aplicación y menú principal.
  • personaje.py: Contiene la clase base de los personajes.
  • guerrero.py, mago.py, arquero.py, sanador.py, asesino.py: Subclases de personajes.
  • combate.py: Lógica del sistema de combate.
  • efectos.py: Gestión de efectos alterados (veneno, aturdimiento, etc.).
  • api_client.py: Integración con la API externa para modificadores climáticos.
  • gui.py: Interfaz gráfica con Tkinter.
  • persistencia.py: Módulo para la persistencia en formato JSON.
  • personajes.json: Base de datos local.
  • requirements.txt: Dependencias.

Proyecto final de Programación Orientada a Objetos.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages