def executar_accao(): accao = game_utils.escolhe_opcao( "O que queres fazer agora? [C]omer; [D]ormir; [E]studar", ["c", "d", "e"]) if accao == "c": opcao_comida = game_utils.escolhe_opcao( """ Tipos de comida: [B]arra de cereais - 1€ = -5 de fome [P]ão - 2€ = -7 de fome [M]açã - 3€ = -10 de fome [E]sparguete - 10€ = -30""", ["b", "p", "m", "e"]) if opcao_comida == "b": ESTADO_PERSONAGEM['dinheiro_carteira'] -= 1 ESTADO_PERSONAGEM['fome'] -= 5 elif opcao_comida == "p": ESTADO_PERSONAGEM['dinheiro_carteira'] -= 2 ESTADO_PERSONAGEM['fome'] -= 7 elif opcao_comida == "m": ESTADO_PERSONAGEM['dinheiro_carteira'] -= 3 ESTADO_PERSONAGEM['fome'] -= 10 elif opcao_comida == "e": ESTADO_PERSONAGEM['dinheiro_carteira'] -= 10 ESTADO_PERSONAGEM['fome'] -= 20 if ESTADO_PERSONAGEM['fome'] < 0: ESTADO_PERSONAGEM['fome'] = 0 imprimir_estado_jogador() elif accao == "d": ESTADO_PERSONAGEM['sono'] -= 20 imprimir_estado_jogador() elif accao == "e": ESTADO_PERSONAGEM['inteligencia'] += 1 ESTADO_PERSONAGEM['fome'] += 5 ESTADO_PERSONAGEM['sono'] += 5 imprimir_estado_jogador()
def jogar(): print(""" | | | | \ \ / /(_) | | | | ___ __ _ ___ __| | __ _ \ \ / / _ __| | __ _ _ | | / _ \ / _` | / _ \ / _` | / _` | \ \/ / | | / _` | / _` | | |__| || (_) || (_| || (_) | | (_| || (_| | \ / | || (_| || (_| | \____/ \___/ \__, | \___/ \__,_| \__,_| \/ |_| \__,_| \__,_| __/ | |___/ """) print("""Bem vindo ao Jogo da Vida! Opções: Novo jogo [n] Como jogar [c] Sair [s]""") opcao = game_utils.escolhe_opcao("O que desejas fazer?", ["n", "c", "s"]) if opcao == "n": global ESTADO_PERSONAGEM global ESTADO_JOGO ESTADO_PERSONAGEM = {} ESTADO_JOGO = { 'dia': 0, 'local': 'casa_dos_pais', 'accoes_disponiveis': 4 } criar_jogador() executar_jogo()
def nivel_cave(): print("Estás numa cave escura e fria...") print("Reparas que há dois buracos na parede.") opcao = game_utils.escolhe_opcao( "Metes a mão no buraco do lado esquerdo[e], o do lado direito[d] ou subir as escadas[s]?", ["e", "d", "s"]) if opcao == "e": print("...encontras uma jiboia que te engole vivo de uma só vez!!!") elif opcao == "s": nivel_corredor() elif opcao == "d": if inventario["queijo"] or inventario["livro_de_bruxaria"]: print( "Este buraco encontra-se vazio. Já tiraste tudo o que havia para tirar" ) nivel_cave() else: queijo_ou_livro = random.randint(0, 1) if queijo_ou_livro == 0: inventario["queijo"] = True print("Hmm... Um pedaço de queijo... Delicioso...") print("Um pedaço de queijo adicionado ao inventário.") else: inventario["livro_de_bruxaria"] = True print( 'Hmm... Um livro? Deixa-me ler o título (está escrito "Os feitiços do demónio").' ) print("Hmm... Se calhar vai me dar jeito...") print("Um livro de feitiçaria adicionado ao inventário.") nivel_cave()
def nivel_sotao(): print("Subiste as escadas e encontraste um sótão com três baús.") opcao = game_utils.escolhe_opcao( "Queres abrir o baú de ouro[o], o baú de ferro[f], ou o baú de madeira[m] ou descer as escadas[d]?", ["o", "f", "m", "d"]) if opcao == "o": print( "Abriste o baú de ouro e de dentro dele saltaram cem aranhas venenosas!" ) elif opcao == "f": print( "Abriste o baú de ferro, encontraste uma chave e decidiste descer as escadas" ) inventario['chave_porta_do_corredor'] = True nivel_corredor() elif opcao == "d": nivel_corredor() elif opcao == "m": print("Encontraste uma vassoura.") if inventario["livro_de_bruxaria"]: print( "Com o teu livro de bruxaria transformaste a vassoura numa vassoura voadora e saíste dali para fora!" ) print("Parabéns!") exit(0) else: print("Se eu fosse bruxa, fazia alguma coisa com esta vassoura...") nivel_sotao()
def nivel_corredor(): print("Estás num corredor com umas escadas e uma porta") opcao = game_utils.escolhe_opcao( "Queres subir[s], descer[d], voltar para o quarto[q] ou abrir a porta[p]?", ["s", "d", "q", "p"]) if opcao == "s": nivel_sotao() elif opcao == "q": nivel_quarto() elif opcao == "p": if inventario['chave_porta_do_corredor']: print("Infelizmente, atrás da porta estava o Frankenstein!") time.sleep(2) bom_ou_mau = random.randint(0, 3) if bom_ou_mau == 0: print("Dá-te uma marretada na cabeça e desfaz-te aos pedaços!") else: print( "Agarra em ti e leva-te para o seu castelo e prende-te nas masmorras..." ) masmorras_frank() else: print( "Lamento. A porta está trancada. Talvez devesses procurar uma chave..." ) nivel_corredor() elif opcao == "d": nivel_cave()
def jogar(): opcao_sair_ou_continuar = None while opcao_sair_ou_continuar != "s": for key in inventario.keys(): inventario[key] = False mostra_banner() mostra_introducao() nivel_quarto() print("Infelizmente morreste!") opcao_sair_ou_continuar = game_utils.escolhe_opcao( "Queres recomeçar[r] ou sair[s]?", ["r", "s"])
def criar_jogador(): nome = input("Que nome queres dar ao teu personagem? ") genero = game_utils.escolhe_opcao( "Qual é o género do teu personagem? [M]asculino ou [F]eminino ", ["m", "f"]) ESTADO_PERSONAGEM['nome'] = nome ESTADO_PERSONAGEM['genero'] = genero ESTADO_PERSONAGEM['idade'] = 20 ESTADO_PERSONAGEM['inteligencia'] = 1 ESTADO_PERSONAGEM['dinheiro_carteira'] = 500 ESTADO_PERSONAGEM['dinheiro_banco'] = 0 ESTADO_PERSONAGEM['forca'] = 0 ESTADO_PERSONAGEM['sociabilidade'] = 0 ESTADO_PERSONAGEM['profissao'] = "desempregado" ESTADO_PERSONAGEM['fome'] = 0 ESTADO_PERSONAGEM['vida'] = 100 ESTADO_PERSONAGEM['sono'] = 0 ESTADO_PERSONAGEM['dividas'] = 0 imprimir_estado_jogador()
def nivel_quarto(): print("Olhas à tua volta e consegues ver um interruptor e uma porta.") opcao = game_utils.escolhe_opcao( "Queres abrir a porta[p] ou ligar o interruptor[i]", ["p", "i"]) if opcao == "p": nivel_corredor() else: print("Sentes um leve cheiro a gás, mas decides ligá-lo na mesma...") time.sleep(2) print("...") time.sleep(2) bom_ou_mau = random.randint(0, 5) if bom_ou_mau != 0: print("Uma enorme explosão!!!!!") print("Infelizmente, esta não foi a decisão mais correta... :(") else: print( "Tiveste sorte. A luz acendeu-se e consegues ver um túnel que te permite escapar." ) print("Conseguiste!!!") exit(0)
def jogar(): opcao = None mostra_banner() mostra_introducao() while opcao != "s": while not o_jogo_terminou(): imprime_tabuleiro() print("Escolhe um número.") numero_escolhido = int(input()) div_disp = divisores_disponiveis(numero_escolhido) if not esta_disponivel(numero_escolhido): print( f"O número {numero_escolhido} não está disponível. Escolhe outro." ) elif not div_disp: print( f"O número {numero_escolhido} não pode ser escolhido porque não tem divisores disponíveis" ) else: escolhas_do_jogador.add(numero_escolhido) for num in div_disp: escolhas_do_computador.add(num) for numero in tabuleiro: if numero not in escolhas_do_jogador and numero not in escolhas_do_computador: escolhas_do_computador.add(numero) print("O jogo terminou!") print(f"Pontos do jogador: {sum(escolhas_do_jogador)}") print(f"Pontos do computador: {sum (escolhas_do_computador)}") if sum(escolhas_do_computador) > sum(escolhas_do_jogador): print("O computador venceu esta partida!") elif sum(escolhas_do_computador) < sum(escolhas_do_jogador): print("O jogador venceu a partida!") else: print("A partida ficou empatada!") opcao = game_utils.escolhe_opcao("Queres recomeçar[r] ou sair[s]?", ["r", "s"])
def mostra_banner(): print(""" ______ __ ______ /_ __/___ _____ _ __/ /_____ / ____/___ _____ ___ ___ _____ / / / __ `/ __ \| |/_/ __/ __ \ / / __/ __ `/ __ `__ \/ _ \/ ___/ / / / /_/ / /_/ /> </ /_/ /_/ / / /_/ / /_/ / / / / / / __(__ ) /_/ \__,_/ .___/_/|_|\__/\____/ \____/\__,_/_/ /_/ /_/\___/____/ /_/ """) mostra_banner() opcao = None print('Jogos disponívels:') print(' - 1: Adivinha o número') print(' - 2: Aventura na Casa Fantasma') print(' - 3: Trinca-espinhas') print(' - 4: Jogo da Vida') opcao = game_utils.escolhe_opcao("Que jogo queres jogar?", ["1", "2", "3", "4"]) if opcao == "1": adivinha_numero.jogar() elif opcao == "2": casa_fantasma.jogar() elif opcao == "3": trinca_espinhas.jogar() elif opcao == "4": jogo_da_vida.jogar()