# perdiendo.org/museodemetralla

entraron en mi cabeza (201) | libros (20) | me lo llevo puesto (7) | pelis (2) | Renta básica (9) | series (6) | escasez (2) | frikeando (94) | arduino (1) | autoreferencial (11) | bici (1) | esperanto (4) | eve online (3) | git (2) | GNU/linux (4) | markdown (7) | nexus7 (2) | python (7) | raspberry pi (3) | vim (1) | wordpress (1) | zatchtronics (3) | hago (755) | canciones (156) | borradores (7) | cover (42) | el extremo inútil de la escoba (2) | elec (1) | GRACO (2) | guitarlele (11) | ruiditos (11) | Solenoide (1) | fotos (37) | nanowrimo (3) | novela (26) | criaturas del pantano (5) | el año que no follamos (12) | huim (5) | rehab (4) | poemas (353) | Anclajes (15) | andando (3) | B.A.R (7) | Canción de cuna para un borracho (38) | Cercos vacíos (37) | Cien puentes en la cabeza (7) | Conejo azul (6) | Contenido del juego (5) | De tiendas (3) | del pantano (3) | Destrozos (2) | Epilogo (4) | Fuegos de artificio (5) | Imposible rescate (15) | Jugando a rojo (7) | Libro del desencuentro (2) | Lo que sé de Marte (11) | Los cuentos (21) | Montaje del juego (5) | Orden de salida (4) | palitos (31) | Piernas abiertas (7) | Poemas medianos (12) | Privado de sueño (7) | rasguemas (5) | Tanto para nada (17) | Todo a 100 (2) | Uno (4) | relatos (96) | anatemas (9) | orbital (2) | prompts (8) | vindicaciones (103) | perdiendo (1.694) | atranques (1) |

reino de dragones

Este ejercicio me ha gustado mucho. Descubrir que se puede hacer que se ejecute una función como expresión de una variable me ha volado la cabeza. Es tontísimo, pero también lo soy yo. Escribí el código y después estuve un rato intentando entender por qué estaba funcionando y me divertí un ratazo. Mientras siga divirtiéndome seguro que al final termino aprendiendo a hacer algo.

# mancantao

import random # importa el módulo random para números aleatorios
import time # importa el módulo time para los delays de explorarCueva

# El programa va a definir algunas funciones antes de empezar

def mostrarIntroducción(): # defines la función de la introducción, no mucho más que decir

# se podría hacer con un print partiéndolo con \n

'''
    print('Estás en una tierra llena de dragones. Frente a ti' '\n' 'hay dos cuevas. En una de ellas el dragón es generoso y' '\n' 'amigable y compartirá su tesoro contigo. El otro dragón' '\n' 'es codicioso y está hambriento y te devorará inmediatamente.')

'''
    print('Estás en una tierra llena de dragones. Frente a ti')
    print('hay dos cuevas. En una de ellas el dragón es generoso y')
    print('amigable y compartirá su tesoro contigo. El otro dragón')
    print('es codicioso y está hambriento y te devorará inmediatamente.')

def elegirCueva():
    # puedes meter lo que quieras, se va a sobreescribir en cuanto responda el paco, pero es más elegante crear una cadena vacía
    # y más interesante meter algo que nadie va a ver
    cueva = 'Gustavo Bueso es un fraude'
    # cachondo, si no es uno o dos repite el bucle hasta que el paco responda lo que debe, si es 1 o 2 sigue adelante
    while cueva != '1' and cueva != '2':
        print('¿A qué cueva quieres entrar? (1 o 2)')
        cueva = input()

    # hace que la función elegirCueva, al terminar, devuelva el valor de la variable cueva, así que el resultado de elegirCueva() sería 1 o 2
    return cueva

def explorarCueva(cuevaElegida):
    print('Te aproximas a la cueva...')
    time.sleep(2)
    print('Es oscura y espeluznante...')
    time.sleep(2)
    print('¡Un gran dragón aparece súbitamente frente a ti! Abre sus fauces y...')
    print()
    time.sleep(2)

    cuevaAmigable = random.randint(1,2) # asocia un número aleatorio entre 1 y 2 a cuevaAmigable

    if cuevaElegida == str(cuevaAmigable):
        print('¡Te regala su tesoro!')
    else:
        print('¡Te engulle de un bocado!')

# Y el programa empieza

jugarDeNuevo = 'si' # empieza dándole un valor si a jugarDeNuevo para poner en marcha el while
while jugarDeNuevo == 'si' or jugarDeNuevo == 's':

    mostrarIntroducción()

    númeroDeCueva = elegirCueva() # asocia númeroDeCueva a la ejecución de elegirCueva!!! eso mola un montón. El valor que devuelve se le asigna a númeroDeCueva

    explorarCueva(númeroDeCueva) # ejecuta explorarCueva con el valor de número de Cueva

    print('¿Quieres jugar de nuevo (si o no)')
    jugarDeNuevo = input()

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.