Prototipo de sistema de batallas cortas entre ejércitos. Sistema de combate por turnos con unidades que tienen atributos de salud, ataque y defensa.
- Sistema de Unidades: Cada unidad tiene salud, ataque y defensa
- Ejércitos: Grupos de unidades que luchan juntas
- Combate por Turnos: Las unidades atacan en orden aleatorio cada turno
- Variación de Daño: El daño varía entre 80-120% del ataque base
- Sistema de Defensa: La defensa reduce el daño recibido
- Python 3.6 o superior
python3 main.pyLuego selecciona la opción 1 para una batalla rápida con ejércitos predefinidos.
python3 main.pySelecciona la opción 2 y sigue las instrucciones para crear tus propios ejércitos.
-
battle_system.py: Contiene las clases principalesUnit: Representa una unidad individualArmy: Representa un ejército con múltiples unidadesBattle: Maneja la lógica de combate
-
main.py: Script principal para ejecutar simulaciones
from battle_system import Unit, Army, Battle
# Crear unidades
units1 = [
Unit("Guerrero", health=100, attack=25, defense=10),
Unit("Arquero", health=60, attack=30, defense=5),
]
units2 = [
Unit("Caballero", health=120, attack=20, defense=15),
Unit("Mago", health=50, attack=40, defense=3),
]
# Crear ejércitos
army1 = Army("Aliados", units1)
army2 = Army("Enemigos", units2)
# Iniciar batalla
battle = Battle(army1, army2)
winner = battle.start()- Cada turno, todas las unidades vivas atacan en orden aleatorio
- Cada unidad selecciona un objetivo aleatorio del ejército enemigo
- El daño base varía entre 80-120% del ataque de la unidad
- El daño real = max(0, daño_base - defensa_objetivo)
- La batalla continúa hasta que un ejército sea eliminado
- Diferentes tipos de unidades con habilidades especiales
- Sistema de formaciones
- Efectos de estado (veneno, aturdimiento, etc.)
- Modo de batalla automática sin pausas
- Estadísticas y replay de batalla
- Guardado y carga de ejércitos