Descripción
En este post, te mostraré cómo crear un generador de historias automáticas utilizando Python. El script se basa en patrones narrativos comunes, como el “Viaje del héroe”, el “Monomito” y el “Triángulo de Freytag”. Usaremos listas de personajes, lugares y objetos para crear historias únicas cada vez que ejecutes el script.
Código Explicado
El script está dividido en varias secciones:
- Definición de Patrones Narrativos:
- Utilizamos un diccionario para almacenar diferentes patrones narrativos, cada uno con una serie de pasos que definen la estructura de la historia.
- Elementos Narrativos:
- Creamos listas con personajes, lugares y objetos que se usarán para rellenar los pasos de los patrones narrativos.
- Función
generar_historia
:- Esta función toma un patrón narrativo y genera una historia combinando aleatoriamente personajes, lugares y objetos para cada paso del patrón.
- Interfaz de Usuario Básica:
- Permite al usuario elegir un patrón narrativo y luego genera y muestra la historia basada en el patrón elegido.
Código Completo
Aquí tienes el código completo del generador de historias automáticas en Python:
import random
# Patrones narrativos
patrones = {
"Viaje del héroe": [
"Un héroe se encuentra en su mundo ordinario",
"Recibe una llamada a la aventura",
"Rechaza inicialmente la llamada",
"Encuentra un mentor que lo guía",
"Cruza el umbral hacia un mundo especial",
"Encuentra pruebas, aliados y enemigos",
"Enfrenta una prueba crucial",
"Obtiene una recompensa",
"Regresa al mundo ordinario con el elixir"
],
"Monomito": [
"La llamada a la aventura",
"Asistencia sobrenatural",
"El cruce del primer umbral",
"El vientre de la ballena",
"El camino de las pruebas",
"Encuentro con la diosa",
"La tentación",
"La apoteosis",
"El don último",
"El regreso"
],
"Triángulo de Freytag": [
"Exposición",
"Incidente incitador",
"Clímax",
"Caída de la acción",
"Desenlace"
]
}
# Elementos narrativos
personajes = ["Un joven valiente", "Una sabia anciana", "Un guerrero", "Una hechicera", "Un dragón", "Un villano oscuro"]
lugares = ["un pequeño pueblo", "un misterioso bosque", "una ciudad en ruinas", "un castillo encantado", "un reino lejano"]
objetos = ["una espada mágica", "un amuleto antiguo", "un libro de hechizos", "una poción curativa", "un mapa del tesoro"]
def generar_historia(patron):
if patron not in patrones:
return "Patrón no reconocido. Por favor elige uno de los siguientes: " + ", ".join(patrones.keys())
historia = []
for paso in patrones[patron]:
personaje = random.choice(personajes)
lugar = random.choice(lugares)
objeto = random.choice(objetos)
historia.append(f"{paso}: {personaje} en {lugar} con {objeto}.")
return "\n".join(historia)
# Interfaz de usuario básica
def main():
print("Generador de historias automáticas basado en patrones narrativos")
print("Patrones disponibles:")
for patron in patrones.keys():
print(f"- {patron}")
patron_elegido = input("Elige un patrón narrativo: ")
historia = generar_historia(patron_elegido)
print("\nTu historia generada:")
print(historia)
if __name__ == "__main__":
main()
Cómo Ejecutar el Código
- Instala Python: Asegúrate de tener Python instalado en tu sistema. Puedes descargarlo desde python.org.
- Copia el Código: Copia el código completo y pégalo en un archivo con la extensión
.py
, por ejemplo,generador_de_historias.py
. - Ejecuta el Script: Abre una terminal, navega hasta el directorio donde guardaste el archivo y ejecuta el script con el comando
python generador_de_historias.py
.
Al ejecutar el script, se te pedirá que elijas un patrón narrativo. Una vez elegido, se generará una historia única basada en el patrón seleccionado, combinando aleatoriamente los personajes, lugares y objetos definidos.
¡Diviértete creando y compartiendo tus propias historias!