def play(player,tutorial): p_time=10 c_time=10 if not tutorial: set_player_time() time.sleep(1) p_time=player_time if p_time==0: juego.slow_print('No presionaste enter a tiempo, hazlo antes para la próxima.') else: juego.slow_print('Paraste con {:.2f} segundos restantes.'.format(p_time)) else: while p_time==c_time: set_player_time() time.sleep(1) p_time=player_time c_time=cpu_time() if p_time==c_time: juego.slow_print("El jugador paró con {:.2f} segundos restantes.\nEl campeón paró con {:.2f} segundos restantes.\n Es un empate! Listos para el desempate.".format(p_time,c_time)) time.sleep(4) if p_time==0: vida = player.health player.receive_damage(15,0) juego.slow_talk("-Tal vez necesitas tus ojos más de lo que creías. Te reventaste la cabeza.\nY me quedo con tu escudo.") juego.slow_print("Pierdes {} de vida.".format(vida-player.health)) player.shield_down() return 0 elif p_time<c_time: print('') juego.slow_print("Has ganado, tus sentidos no te engañan.\nParaste con {:.2f} segundos restantes.\nAquel cobarde tenía {:.2f} segundos restantes.".format(p_time,c_time)) player.shield_up() return 1 else: juego.slow_print("Tal vez necesitas tus ojos más de lo que creías.\nTe has acobardado, aun te restaban {:.2f} segundos. Tu rival paro con tan solo {:.2f} segundos restantes.".format(p_time,c_time)) juego.slow_talk('-Gracias por tu escudo camarada') player.shield_down() return 0
def voice_trap(player): choice = False juego.slow_print('Vas caminando cuando escuchas una voz que te habla...') juego.slow_talk('FRENTE A TI ENCONTRARÁS UN REGALO, TÓMALO') time.sleep(2) juego.slow_print('La voz sonaba un poco sospechosa...') while choice not in ['1', '2']: choice = input('Decide:\n1)Mejor continuar tu camino\n2)Tomar regalo') if choice == '1': juego.slow_print('Continuas tu camino ignorando la voz.') else: print(".", end="\r") time.sleep(1) print("..", end="\r") time.sleep(1) print("...", end="\r") time.sleep(1) luck = random.randint(1, 5) if luck == 5: juego.slow_print( 'Encuentras una posión de vida y decides beberla.') vida = player.health player.receive_damage(0, 30) if vida < player.health: juego.slow_print( 'Has ganado {} de vida.'.format(player.health - vida)) else: juego.slow_print('Nada sucede.') else: juego.slow_print( 'Encuentras una posión de vida y decides beberla.') juego.slow_print( 'Inmediatamente te das cuenta que cometiste un error.') vida = player.health player.receive_damage(10, 0) juego.slow_print('Pierdes {} de vida'.format(vida - player.health))
def play(player, tutorial): global riddles riddles = true_riddles switch = False op = 2 bet = 0 if not tutorial: riddles = riddles[20:] ans = choose_riddle() while not switch: juego.slow_print( "¿Cuál es tu respuesta al acertijo?\nPara ver la respuesta y salir escribe 'Salir'." ) guess = input() if guess.lower() == 'salir': juego.slow_print("La respuesta era '{}'.".format( ans[0].capitalize())) return None else: for i in ans: if re.search(i, guess.lower()): switch = True if not switch: juego.slow_talk('-¡Incorrecto!') time.sleep(1.5) juego.slow_talk('-Tu respuesta es correcta.') return None else: juego.slow_print( "¿Por qué no hacemos ésto más interesante?\nSi ganas puedo mejorar tu espada, si aún no es de nivel 3.\nPero si pierdes la cambiaré por una peor, o te daré un mordisco si no tienes una." ) while bet not in ['1', '2']: bet = input("1)Aceptas la apuesta\n2)No tienes interés") ans = choose_riddle() while op > 0 and not switch: guess = player_guess(player, ans[0]) for i in ans: if re.search(i, guess.lower()): switch = True if not switch and op > 1: juego.slow_talk('-¡Incorrecto! Te queda sólo una oportunidad.') time.sleep(2) elif not switch: op -= 1 if op == 0: juego.slow_talk('-No encontraste la respuesta al acertijo.') if bet == '1': if not player.sword_lvl: vida = player.health player.receive_damage(50, 0) juego.slow_print( 'La esfinge te suelta un mordisco que te quita {} de vida.' .format(vida - player.health)) else: player.sword_down() return 0 else: juego.slow_talk('-Tu respuesta es correcta.') if bet == '1': player.sword_up() return 1
def play(player1): global MAX_BULL MAX_BULL = 5 if player1.gun_lvl > 0: MAX_BULL = player1.max_bullets player = Player() cpu = Player() C_WINS = 0 P_WINS = 0 game_round = 0 while P_WINS != 2 and C_WINS != 2: cpu_moves = 0 player.bullets = 1 cpu.bullets = 1 if game_round == 0: cpu_first = cpu.cpu_choose_move() time.sleep(1) juego.slow_print("Inicia la ronda, cada quien tiene 1 bala cargada.") while True: play_move = player.player_choose_move() if cpu_moves == 0: cpu_move = cpu_first cpu_moves += 1 else: cpu_move = cpu.cpu_choose_move() if play_move == 1: if cpu_move == 1: player.recharge() cpu.recharge() juego.slow_print( "Logras cargar tu arma y notas que tu rival hizo lo mismo." ) elif cpu_move == 2: player.hp -= 1 juego.scream('¡BANG!') juego.slow_print( "Sientes un dolor y calor que se extiende en tu pierna." ) C_WINS += 1 juego.slow_talk("-¿Es todo lo que tienes?") break else: player.recharge() juego.slow_print( "En cuanto tocas tu pistola, tu rival se cubre. Tranquilamente recargas." ) elif play_move == 2: if cpu_move == 1: cpu.hp -= 1 a = [1, 2, 3] a.remove(cpu_first) cpu_first = random.choice(a) juego.scream('¡BANG!') juego.slow_print( "Agarras a tu enemigo tratando de recargar y das en el blanco." ) P_WINS += 1 juego.slow_talk("-¡¡No puedo creer que me diste!!") break elif cpu_move == 2: player.shoot() cpu.shoot() juego.scream('¡¡BANG!!') juego.slow_print( "Ambos disparan a la vez y las balas chocan entre si.") else: player.shoot() juego.scream("Bang") juego.slow_print( "Justo antes de jalar el gatillo ves como tu enemigo alcanza a cubrirse, una bala desperdiciada" ) else: if cpu_move == 1: cpu.recharge juego.slow_print( "Te apresuras a cubrirte pero tu enemigo aprovecha esta oportunidad para recargar." ) elif cpu_move == 2: cpu.shoot() juego.scream('Bang') juego.slow_print( "Excelentes reflejos! Logras evitar que esa bala diera en el blanco" ) else: juego.scream("...") juego.slow_print("Se miran fijamente ambos protegiendose") game_round += 1 if P_WINS == 2: juego.slow_print('Sales airoso de este enfrentamiento.') player1.gun_up() return 1 else: juego.slow_print('Fuiste derrotado.') player1.gun_down() return 0
def action(player, move, enemy, enemy_move): global stop_function if player.stunned: if enemy.stunned: enemy.stun_change() juego.slow_print('Ambos están aturdidos.') elif enemy_move == 1: enemy.charge_shield() juego.slow_print('Tu rival aprovecha para cargar magia.') elif enemy_move == 2: player.receive_damage(enemy.spell() * 1.5, 0) juego.slow_print('No puedes evitar que te lancen un hechizo.') elif enemy_move == 3: player.receive_damage(enemy.shoot() * 1.5, 0) juego.slow_print( 'Crees escuchar un disparo y sientes un ardor en el pecho.') elif enemy_move == 4: enemy.recharge() enemy.recharge() juego.slow_print( 'Esuchas como tu rival aprovecha para cargar su arma.') elif enemy_move == 5: player.receive_damage(enemy.attack() * 1.5, 0) juego.slow_print('Sientes el corte de la espada en un costado.') elif enemy_move == 6: juego.slow_print( 'Tu rival decidió cubrirse con su escudo...\n ¿Se está burlando de ti?' ) else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') player.stun_change() elif move == 0: if player.escape(): juego.slow_print('Haz logrado escapar!') stop_function = True else: juego.slow_print('Te tropiezas y quedas indefenzo.') if enemy_move == 5: player.receive_damage(3, 0) juego.slow_print('El duende aprovecha para clavarte su daga.') else: juego.slow_print( 'El duende se cubrió.\nParece que está confundido con lo que pasó.' ) elif move == 1: if enemy.stunned: player.charge_shield() juego.slow_print( 'Aprovechas que tu enemigo está aturdido para cargar tus reservas de magia.' ) enemy.stun_change() elif enemy_move == 1: player.charge_shield() enemy.charge_shield() juego.slow_print( 'Ambos usan su escudo mágico y recuperan un poco de magia.') elif enemy_move == 2: player.charge_shield() player.receive_damage(enemy.spell(), (player.magic_lvl**2) * 5) juego.slow_print( 'Reaccionas a tiempo y usas tu escudo mágico para cubrirte del hechizo que viene en tu camino.' ) elif enemy_move == 3: player.receive_damage(enemy.shoot(), 0) juego.slow_print( 'El escudo mágico no es buena protección contra la bala que acaba de golpearte.' ) elif enemy_move == 4: juego.slow_print( 'Mientras tu cargas tus niveles de magia, ves como tu rival aprovecha para cargar su arma.' ) player.charge_shield() enemy.recharge() enemy.recharge() elif enemy_move == 5: player.receive_damage(enemy.attack(), 0) juego.slow_print( 'Parece que te protegiste de la manera equivocada, el acero de la espada hace un corte limpio.' ) elif enemy_move == 6: player.charge_shield() juego.slow_print( 'Haces que tu enemigo se cubra con su escudo y mientras tu recuperas magia perdida.' ) else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') juego.slow_print( 'Reaccionas lo más rápido posible y te cubres.\n El hechizo rebota y ves cómo pega en el blanco.' ) enemy.receive_damage(enemy.health, 0) enemy.final_spell() elif move == 2: if enemy.stunned: juego.slow_print( 'Con tu rival incapaz de moverse lanzas un hechizo que pega en el blanco.' ) enemy.receive_damage(player.spell() * 1.5, 0) enemy.stun_change() elif enemy_move == 1: juego.slow_print( 'Era buena tu intención pero tu adversario alcanza a cubrirse.' ) enemy.charge_shield() enemy.receive_damage(player.spell(), (enemy.magic_lvl**2) * 5) elif enemy_move == 2: juego.slow_talk('-Mi magia es más poderoza que la tuya.') juego.slow_print('Cada hechizo golpea de lleno en el contrario.') enemy.receive_damage(player.spell(), 0) player.receive_damage(enemy.spell(), 0) elif enemy_move == 3: juego.slow_print( 'Tu hechizo te cubre del disparo rival y causa daño en tu oponente.' ) enemy.receive_damage(player.spell(), 0) player.receive_damage(enemy.shoot(), enemy.gun_dmg) elif enemy_move == 4: juego.slow_print( 'Antes de que tu rival logre cargar su arma lanzas un hechizo que da en el blanco.' ) enemy.receive_damage(player.spell(), 0) elif enemy_move == 5: juego.slow_print( 'Tu rival trata de atacarte cuerpo a cuerpo pero mantienes tu distancia y das en el blanco.' ) enemy.receive_damage(player.spell(), 0) elif enemy_move == 6: if isinstance(enemy, Goblin): enemy.receive_damage(player.spell(), 2) juego.slow_print( 'El duende trata de cubrirse tu hechizo con su escudo.') else: enemy.receive_damage(player.spell(), enemy.shield_lvl**2) juego.slow_print( 'Tu rival trata de usar su escudo para cubrir tu hechizo.') else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') elif move == 3: if enemy.stunned: juego.slow_print( 'Tu oponente aturdido es un blanco facil, sin mucho problema das en el blanco.' ) enemy.receive_damage(player.shoot() * 1.5, 0) enemy.stun_change() elif enemy_move == 1: juego.slow_print( 'Ese escudo mágico no lo cubre de tu bala, que acierta sin problemas.' ) enemy.receive_damage(player.shoot(), 0) elif enemy_move == 2: juego.slow_print( 'El disparo se ve deviado por su hechizo que no logras evitar.' ) player.receive_damage(enemy.spell(), 0) enemy.receive_damage(player.shoot(), player.gun_dmg) elif enemy_move == 3: juego.slow_print('Disparan a la vez y ambos dan en el blanco.') enemy.receive_damage(player.shoot(), 0) player.receive_damage(enemy.shoot(), 0) elif enemy_move == 4: juego.slow_print( 'Notas que quiere recargar y sin darle oportunidad aprietas el gatillo.' ) enemy.receive_damage(player.shoot(), 0) elif enemy_move == 5: juego.slow_print( 'Disparas en cuanto lo ves venir, pero eso no lo frena lo suficiente y alcanza a atacar.' ) enemy.receive_damage(player.shoot(), 0) player.receive_damage(enemy.attack(), 0) elif enemy_move == 6: if isinstance(enemy, Goblin): enemy.receive_damage(player.shoot(), 2) juego.slow_print( 'De algo debe ayudar ese escudo contra tu bala.') elif player.gun_lvl > enemy.shield_lvl: juego.slow_print( 'Tu rival logra evitar algo del daño al cubrirse.') enemy.receive_damage(player.shoot(), 5 * enemy.shield_lvl) else: juego.slow_print( 'El escudo de tu oponente parece demasiado resistente, no creo que le hicieras daño.' ) enemy.receive_damage(player.shoot(), player.gun_dmg) else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') juego.slow_print( 'Tratas de disparar antes de que pueda hacer algo pero no eres tan rápido y tu bala se desvía.' ) player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.receive_damage(player.shoot(), player.gun_dmg) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') elif move == 4: if enemy.stunned: juego.slow_print('Aprovehcas este tiempo para recargar.') player.recharge() player.recharge() enemy.stun_change() elif enemy_move == 1: juego.slow_print( 'Mientras tu cargas tu arma tu rival decide recuperar algo de magia.' ) enemy.charge_shield() player.recharge() player.recharge() elif enemy_move == 2: juego.slow_print( 'Tratas de recargar pero apenas te mueves un poco y un hechizo te manda a volar.' ) player.receive_damage(enemy.spell(), 0) elif enemy_move == 3: juego.slow_print( 'Ni tiempo te dio de moverte cuando una bala golpeó tu hombro.' ) player.receive_damage(enemy.shoot(), 0) elif enemy_move == 4: juego.slow_print( 'Hacen un pacto de no atacar y ambos cargan sus armas.') player.recharge() player.recharge() enemy.recharge() enemy.recharge() elif enemy_move == 5: juego.slow_print( 'Apenas ibas a cargar la segunda bala cuando te alcanza tu rival y hace un corte en tu brazo.' ) player.receive_damage(enemy.attack(), 0) player.recharge() elif enemy_move == 6: juego.slow_print( 'Logras hacer que tu oponente se cubra y aprovechas para recargar.' ) player.recharge() player.recharge() else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') elif move == 5: if enemy.stunned: juego.slow_print( 'Mientras tu oponente está aturdido atacas con tu espada.') enemy.receive_damage(player.attack() * 1.5, 0) enemy.stun_change() elif enemy_move == 1: juego.slow_print( 'El escudo mágico no sirve de nada contra el filo de tu espada' ) enemy.receive_damage(player.attack(), 0) elif enemy_move == 2: player.receive_damage(enemy.spell(), 0) juego.slow_print( 'Estás decidido a atacar pero en cuento te acercas el hechizo de tu rival te pega y te lanza hacia atrás.' ) elif enemy_move == 3: enemy.receive_damage(player.attack(), 0) player.receive_damage(enemy.shoot(), 0) juego.slow_print( 'Vas hacia adelante, tu oponente dispara y da en tu pierna izquierda pero logras hacer un corte en su costado.' ) elif enemy_move == 4: enemy.receive_damage(player.attack(), 0) enemy.recharge() juego.slow_print( 'Alcanzas a evitar que cargue una segunda vala haciendo un corte profundo.' ) elif enemy_move == 5: if isinstance(enemy, Goblin): enemy.receive_damage(8 * player.sword_lvl - 4, 0) juego.slow_print( 'El duende trata de atacar con su daga pero logras desarmarlo y devuelves el ataque.' ) elif player.sword_lvl < enemy.sword_lvl: player.receive_damage( 10 * (enemy.sword_lvl - player.sword_lvl), 0) juego.slow_print( 'Después de un breve compate espada contra espada, la experiencia de tu rival le permitión golpear tu pecho.' ) elif player.sword_lvl > enemy.sword_lvl: enemy.receive_damage(10 * (player.sword_lvl - enemy.sword_lvl), 0) juego.slow_print( 'Hay un duelo de espadas durante un momento pero finalmente tu ataque es el que logra conectar.' ) else: juego.slow_print( 'Ambos atacan con espadas pero después de un pequeño duelo sin resultados se retiran un poco.' ) elif enemy_move == 6: if isinstance(enemy, Goblin): enemy.receive_damage(player.attack(), 2) juego.slow_print( 'Tu espada golpea contra el escudo del duende.') elif player.attack() > enemy.shield_lvl * 5: enemy.receive_damage(player.attack(), enemy.shield_lvl * 5) juego.slow_print( 'Tu rival se cubre con su escudo pero lograste hacer daño.' ) else: juego.slow_print( 'Atacas con fuerza pero el escudo de tu oponente es increiblemente fuerte.' ) player.stun_change() juego.slow_print( 'Golpear directo contra el escudo te deja aturdido.') else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') elif move == 6: if enemy.stunned: enemy.stun_change() juego.slow_print( 'Te cubres mientras tu oponente está aturdido. No sabes si se dio cuenta de que te burlas de él.' ) elif enemy_move == 1: enemy.charge_shield() juego.slow_print( 'Reaccionaste muy precipitadamente, tu rival logra recuperar un poco de magia.' ) elif enemy_move == 2: juego.slow_print( 'Tus reflejos solo te permitieron cubrirte con tu escudo normal ante el hechizo que iba en camino.' ) player.receive_damage(enemy.spell(), player.shield_lvl**2) elif enemy_move == 3: if enemy.gun_lvl > player.shield_lvl: player.receive_damage(enemy.shoot(), 5 * player.shield_lvl) juego.slow_print( 'Te cubres del disparo pero logra hacer algo de daño.') else: player.receive_damage(enemy.shoot(), enemy.gun_dmg) juego.slow_print( 'Tu escudo resiste sin problemas la bala que iba hacia ti.' ) elif enemy_move == 4: enemy.recharge() enemy.recharge() juego.slow_print( 'Trataste de predecir el movimiento de tu rival, pero eso le dio tiempo de recargar tranquilamente su arma.' ) elif enemy_move == 5: if enemy.attack() > player.shield_lvl * 5: player.receive_damage(enemy.attack(), player.shield_lvl * 5) juego.slow_print( 'Te cubres del ataque rival pero su espada hace algo de daño, logras aturdirlo.' ) else: juego.slow_print( 'Tu escudo es bastante resistente, aturdes a tu oponente y no sufres daño alguno.' ) enemy.stun_change() elif enemy_move == 6: juego.slow_print( 'Ambos levantan sus respectivos escudos, están listos para continuar con el combate.' ) else: juego.slow_talk( '-Prepárate para ver mi poder, por algo soy el elegido.') player.receive_damage(30, 0) enemy.receive_damage(15, 0) enemy.final_spell() juego.slow_print('El hechizo sale defectuozo.') else: if enemy_move == 1: juego.slow_print( 'Lanzas el hechizo prohibido que aprendiste pero tu oponente reacciona a tiempo y logra cubrirse.' ) juego.slow_print('Notas como su escudo mágico es destruido.') enemy.receive_damage(30, 0) enemy.shield_break() player.final_spell() else: enemy.receive_damage(enemy.health, 0) player.final_spell() juego.slow_print( 'Lanzas el hechizo prohibido que aprendiste y a tu rival le es imposible evitarlo.' )
def play(player, tutorial): global group, turn group = 1 turn = 5 ordered_options = [] fill_q() if not tutorial: while turn > 0: player_choice = '' ask = get_question(q1)[0] mix_choice() ordered_options = sorted( [choice[i] + ask[i + 1] for i in range(4)]) juego.slow_print('{}.-{}'.format(6 - turn, ask[0])) time.sleep(1) for x in ordered_options: print(x, end='\r') time.sleep(0.5) while player_choice not in choice: player_choice = input() + ')' if player_choice == choice[0]: juego.slow_print('Respuesta correcta.') group += 1 else: juego.scream('Incorrecto') turn -= 1 juego.slow_print('Tiviste {} respuestas correctas'.format(group - 1)) else: while turn > 0: player_choice = '' if group == 1: ask = get_question(q1)[0] if group == 2: ask = get_question(q2)[0] if group == 3: ask = get_question(q3)[0] if group == 4: ask = get_question(q4)[0] if group == 5: ask = get_question(q5)[0] mix_choice() ordered_options = sorted( [choice[i] + ask[i + 1] for i in range(4)]) juego.slow_print('{}.-{}'.format(6 - turn, ask[0])) time.sleep(1) for x in ordered_options: print(x, end='\r') time.sleep(0.5) while player_choice not in choice: player_choice = input() + ')' if player_choice == choice[0]: juego.slow_print('Respuesta correcta.') group += 1 else: juego.scream('Incorrecto') turn -= 1 juego.slow_print('Tiviste {} respuestas correctas'.format(group - 1)) if group > 4: if group > 5: juego.slow_talk( '-Me pusiste de buen humor, mejoraré todos tus objetos') player.shield_up() player.sword_up() player.gun_up() else: juego.slow_talk( 'Casi logras tener 5 respuestas correctas. ¿Qué objeto quieres que mejore para ti?' ) cosas = [] if player.sword_lvl < 3: cosas.append('Espada') if player.gun_lvl < 3: cosas.append('Revolver') if player.shield_lvl < 3: cosas.append('Escudo') if not len(cosas): cosas.append('Nada') cosa = '' while cosa not in cosas: for x in cosas: print(x, end=' ') cosa = input().capitalize() if cosa == 'Espada': player.sword_up() elif cosa == 'Revolver': player.gun_up() elif cosa == 'Escudo': player.shield_up() else: juego.slow_talk( '-Veo que ya tienes todo mejorado al máximo, tal vez para la otra.' ) return 1 else: if group > 1: vida = player.health player.receive_damage(20, 0) juego.slow_talk( '-Me haces enfurecer con tu poco conocimiento.') juego.slow_print( 'Te dispara una flecha al estomago.\nPierdes {} de vida.'. format(vida - player.health)) if player.magic >= 30: player.magic -= 30 else: player.magic = 0 else: juego.slow_talk( '-Eres tan inculto que pierdes todos tus objetos.') for _ in range(3): player.shield_down() player.sword_down() player.gun_down() return 0