Juego – Adivina la cueva del dragón – Python

Como ya dije otras veces, Invent Your Own Computer Games with Python es un libro gratuito y libre que te enseña a programar juegos de ordenador en Python. Cada ciertos capítulos te muestra el código completo de un nuevo juego y luego te explica los conceptos de programación de dicho código.

Uno de los juegos más sencillos y más interesantes para aprender es Adivina la cueva del dragón, aquí os paso el código completo para ejecutarlo en Python 3 en adelante.

import random
import time

def displayIntro():
    print()
    print('Te encuentras en un lugar lleno de dragones. Delante')
    print('tuya ves dos cuevas. En una vive un dragon afable que ')
    print('tiene escondido un tesoro para ti. El otro dragon')
    print('es agresivo y no dudara en comerte.')
    print()

def chooseCave():
    cave = ''
    while cave != '1' and cave != '2':
        print('Elige una de las dos cuevas (1 o 2)')
        cave = input()

    return cave

def checkCave(chosenCave):
    print('Te acercas a la cueva...')
    time.sleep(2)
    print('Esta oscura y silenciosa...')
    time.sleep(2)
    print('y de repente un dragon se abalanza hacia ti,')
    print('abre la boca y...')
    print()
    time.sleep(2)

    friendlyCave = random.randint(1, 2)

    if chosenCave == str(friendlyCave):
         print('Te da el tesoro!')
    else:
         print('Te come de un solo bocado!')

playAgain = 'yes'
while playAgain == 'yes' or playAgain == 'y':

    displayIntro()

    caveNumber = chooseCave()

    checkCave(caveNumber)

    print('Juegas de nuevo? (yes o no)')
    playAgain = input()