Dungeon crawler.

Dungeon crawler.

AuthorDiego Santamaria
Published3/14/2024

mi segundo juego en python

Este projecto es un tipo dungeon crawler pero, en este caso si tiene un final y no es "infinito", narrra la historia de un hereo el cual debe entrar en 1 de dos cuevas en las cuales esta la princesa y un dragon, en cual de las dos cuevas va a estar se basa en una variable que utiliza la libreria random para elegir 1 de dos cuevas.

librerias que uso

-random: es una función que te permite generar entre otras cosas, números aleatorios que para este juego utilicé en la elección en la cual va a estar el dragon y por eso que es lo que lo que la historia se va a tratar.

code:

import random 


cuevas =  [1,2]

cueva_con_dragon = random.choice(cuevas)

print ("""
    `""*$b..
     ""*$o.
         "$$o.
           "*$$o.
              "$$$o.
                "$$$$bo...       ..o:
                  "$$$$$$$$booocS$$$    ..    ,.
               ".    "*$$$$SP     V$o..o$$. .$$$b
                "$$o. .$$$$$o. ...A$$$$$$$$$$$$$$b
          ""bo.   "*$$$$$$$$$$$$$$$$$$$$P*$$$$$$$$:
             "$$.    V$$$$$$$$$P"**""*"'   VP  * "l
               "$$$o.4$$$$$$$$X
                "*$$$$$$$$$$$$$AoA$o..oooooo..           .b
                       .X$$$$$$$$$$$P""     ""*oo,,     ,$P
                      $$P""V$$$$$$$:    .        ""*****"
                    .*"    A$$$$$$$$o.4;      .
                         .oP""   "$$$$$$b.  .$;
                                  A$$$$$$$$$$P
                                  "  "$$$$$P"
                                      $$P*"
    mls                              .$"
         ____                         _____         _       
        |    \ ___ ___ ___ ___ ___   | __  |___ ___| |_____ 
        |  |  |  _| .'| . | . |   |  |    -| -_| .'| |     |
        |____/|_| |__,|_  |___|_|_|  |__|__|___|__,|_|_|_|_|

    Había una vez un joven héroe llamado Kael, conocido por su valentía y corazón noble. 
    Un día, el rey del reino lo llamó con urgencia: su hija, la princesa Aria, había sido secuestrada y llevada a las Montañas Gemelas, 
    donde habia dos cuevas misteriosas. Solo en una de ellas estaba cautiva la princesa, pero nadie sabía cuál.
    Kael, decidido a rescatarla, emprendió su viaje. Al llegar a las cuevas, una anciana apareció y le dijo:

    —Una cueva guarda la verdad, la otra tus mayores miedos. Solo si eliges sabiamente podrás salvar a la princesa.

    Con el corazón palpitando, Kael se preparó para enfrentar su destino.""")




while True:
    try:

        selección_cueva_jugador = int(input("""    La anciana te pregunta con una voz alegre, pero a la vez misteriosa:

            —¿Estás listo, joven héroe, para enfrentar lo desconocido? Solo uno de estos caminos te llevará hacia la princesa... 
            pero también puede llevarte a ti mismo a descubrir secretos que ni siquiera imaginabas. ¿Cuál elegirás?  

                                1-cueva 1                   2-cueva 2
            """))

        if selección_cueva_jugador == 1:
            print("has elejido la cueva 1")
            break
        elif selección_cueva_jugador == 2:
            print("has elejido la cueva 2")
            break
        

    except ValueError:
        print("porfavor ingresa una respuesta valida (1 para cueva 1, 2 para cueva 2)")



decision_pelear = False 
while True:
    if selección_cueva_jugador == cueva_con_dragon:
        try:
            pelear_o_correr = int(input("""ops, elejiste la cueva con el dragon, ¿que deseas hacer?
                    1-correr        2-pelear con el dragon
            """))

            if pelear_o_correr == 1:
                print("corres a toda velocidad y logras escapar. puedes continuar ")
                break

            elif pelear_o_correr == 2:
                print("has decidido pelear con el dragon... !buena suerte¡")
                decision_pelear = True
                break
            else:
                print("opción no valida")
        except ValueError:
                print("porfavor elije una opcion valida (1,2)")


if decision_pelear == True:
    while True:
        try: 
            opciones_pelear = int(input("""puedes atacar al dragon de las siguientes maneras
                                        1-bomba de gas      2-pegarle en la cabeza 
                                        3-intentar explicarle la situación
                                        respuesta aqui:  """))

            if opciones_pelear == 1:
                print("logras distraer al dragon por unos segundos y logras escapar")
                break
            elif opciones_pelear == 2:
                print("el dragon queda inconciente y logras escapar")
                break
            elif opciones_pelear == 3: 
                print("le explicas la situación al dragon y sorprendentemente te deja pasar")
                break
            else:
                print("opción no valida intenta de nuevo ")
        except ValueError:
                print("porfavor ingresa una respuesta valida (1,2,3)")
while True:
    try:
        decicion_salvar_princesa = int(input("""encontraste a la princesa en la otra cueva, pero parece que una  Serpiente Zafírea de Sangre
                     la mordio en el pie.
                     checas tu mochila CERTIFICADA DE HEROES PROFESIONALES 100 % REAL y encuentras los siguientes
                     objetos, cual vas a utilizar para salvar a la princesa:
                     1-botella de duff bear    2-tubo de succión   3-cuchillo caliente   4-una botella llena de barro y hierbas 
                     5-Cristal de Vynirium """))
        
     
        if decicion_salvar_princesa == 1:
            print("""echas la cerveza en la herida, pero la princesa temina muriendo porque el alchol causa dolor extremo
                     ayuda a que el veneno se ezparsa mas rapido.""")
            print("la pcincesa se muere 5 minutos despues")
            break

        elif decicion_salvar_princesa == 2: 
            print("""intentas succionar el veneno de la herida, pero el tubo genera daños adicionales a la piel
                     y hace que se ezparsa mas rapido el veneno.""")
        
            print("la princesa muere 2 minutos despues")
            break
        elif decicion_salvar_princesa == 3:
            print("""haces un corte a la pierna de la princesa para intentar sacar el veneno, pero esto causa un dolor
                    extremo y ademas hace que la princesa pierda sangre rapidamente.""")
         
            print("la princesa muere 1 minuto despues")
            break
        elif decicion_salvar_princesa == 4:
            print("""aplicas el barro y las hierbas a la herida porque tu abuela te enseño a curar heridas de esa manera,
                     pero todo el barro y hierbas tiene fecha de caducidad por lo cual se infecta la herida, pero la princesa
                     se queda despierta durante un tiempo y charlas con ella. NO PUEDE CAMINAR por lo cual no tienes de otra 
                     mas de quedarte en la cueva hasta que se recupere""")
           
            print("la princesa se muere 2 dias despues por la infección")
            break
        elif decicion_salvar_princesa == 5:
            print(""" pones el crystal sobre la herida. el crystal empieza a sanar la herida imediatamente, reconstruyendo el tejido
                      de la piel dentro de segundos y eliminando  todo el venendo al instante.""")
     
            print("regresan al reino despues de 2 semanas de caminar y se reencentran con la familia de la princesa. ")
            break
    except ValueError:
        print("elije una opcion adecuada (1,2,3,4,5)")

print("fin")