El contenido de este tutorial tiene como finalidad poner en práctica diversos conceptos de POO con Python. El proyecto consiste en realizar una serie de mini juegos en los que se pondrán a prueba la lógica, así mismo veremos los temas utilizados al inicio de cada juego.
Que lo disfruten.
REINO DE DRAGONES

- Función time.sleep()
- Creación de funciones
- Operadores booleanos
- Tablas de verdad
- Variables de entorno
- Parámetros y argumentos
- Diagramas de flujo
Eres un jugador que se encuentra en una tierra de dragones. Los cuales viven en cuevas junto con sus grandes tesoros. Algunos son amigables y compartirán sus tesoros contigo. Otros son malvados y te comerán en cuanto entres a su cueva. Te encuentras frente a dos cuevas, podrás llevarte grandes riquezas o serás devorado?
import random
import time
def mostrarIntroduccion():
print('Estas en una tierra llena de dragones. Frende a ti')
print('hay dos cuevas. En una de ellas, el dragon es generoso y')
print('amigable y compartirá su tesoro contigo. El otro dragón')
print('es codicioso y está hambriento, y te devorará inmediatamente')
print()
def elegirCueva():
cueva = input('A que cueva quieres entrar? (1 o 2): ')
print(cueva)
if (cueva !='1') and (cueva !='2'):
elegirCueva()
else:
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 dragon aparece subitamente frente a ti! Abre sus fauces y ...')
print()
time.sleep(2)
cuevaAmigable = random.randint(1,2)
if cuevaElegida == str(cuevaAmigable):
print('¡Te regala su tesoro!')
else:
print('¡Te engulle de un bocado!')
jugarDeNuevo = 'si'
while (jugarDeNuevo == 'si') or (jugarDeNuevo == 's'):
mostrarIntroduccion()
numeroDeCueva = elegirCueva()
explorarCueva(numeroDeCueva)
jugarDeNuevo= input('¿Quieres jugar de nuevo? (si o no) : ')
Exploremos el funcionamiento del código
El modulo random nos dará la función random.randint() y el modulo time nos dará funciones relacionadas con el tiempo
import random
import time
La siguiente función mostrará la narrativa inicial del juego
def mostrarIntroduccion():
#contenido
La siguiente función nos dará a elegir entre 2 opciones (cuevas) hasta que ingresemos 1 o 2 y finalmente retorna la opción elegida
def elegirCueva():
#Contenido
La siguiente función inicia con una narrativa donde nos indica que nos vamos aproximando a la cueva
time.sleep(2) es una especie de retardo o delay que hace que el programa espere el tiempo indicado para poder ir al siguiente paso
randint(1,2) nos devolverá un numero al azar entre 1 y 2 y lo almacenará en la variable cuevaAmigable
El ciclo if determina si tendremos éxito o si fracasaremos, si la cueva que elegimos es igual a la respuesta al azar del programa, tendremos el tesoro, de lo contrario, el dragón nos engullirá
def explorarCueva(cuevaElegida):
print('Te aproximas a la cueva ...')
time.sleep(2)
print('Es oscura y espeluznante ...')
time.sleep(2)
print('¡Un gran dragon aparece subitamente frente a ti! Abre sus fauces y ...')
print()
time.sleep(2)
cuevaAmigable = random.randint(1,2)
if cuevaElegida == str(cuevaAmigable):
print('¡Te regala su tesoro!')
else:
print('¡Te engulle de un bocado!')
El siguiente ciclo while será el encargado de el funcionamiento principal de todo el programa, el cual también nos dará a elegir si queremos volver a iniciar o no
jugarDeNuevo = 'si'
while (jugarDeNuevo == 'si') or (jugarDeNuevo == 's'):
mostrarIntroduccion()
numeroDeCueva = elegirCueva()
explorarCueva(numeroDeCueva)
jugarDeNuevo= input('¿Quieres jugar de nuevo? (si o no) : ')
Curso de Complejidad Algorítmica con Python