import time
import sys
inventario = []
sanidade = 100
def escrever_devagar(texto, atraso=0.04):
for char in texto:
print(char, end='', flush=True)
time.sleep(atraso)
print()
def escolher_opcao(opcoes):
escolha = input("Escolhe: " + " / ".join(opcoes) + " >> ").strip().lower()
while escolha not in opcoes:
escrever_devagar("Opção inválida. Tenta outra vez.")
escolha = input("Escolhe: " + " / ".join(opcoes) + " >> ").strip().lower()
return escolha
def inicio():
global sanidade
escrever_devagar("Acordas num quarto escuro. Há uma porta à tua esquerda e umas escadas que descem à direita.")
escolha = escolher_opcao(["porta", "escadas"])
if escolha == "porta":
quarto_misterioso()
else:
porao()
def quarto_misterioso():
global sanidade
escrever_devagar("Entraste num quarto com um espelho coberto. Há um roupeiro com a porta entreaberta.")
escolha = escolher_opcao(["espelho", "roupeiro"])
if escolha == "espelho":
escrever_devagar("Tiras o pano... e vês o teu reflexo a piscar-te o olho.")
escrever_devagar("Gritas. O espelho estala. Um braço sai dele.")
sanidade -= 30
escrever_devagar(f"A tua sanidade agora é {sanidade}.")
if sanidade <= 0:
fim_mau()
else:
quarto_misterioso()
else:
escrever_devagar("Dentro do roupeiro há umas escadas secretas que descem...")
porao()
def porao():
global inventario
global sanidade
escrever_devagar("Desces até à cave. Está frio. Há uma vela acesa no centro e uma boneca num canto.")
escolha = escolher_opcao(["vela", "boneca"])
if escolha == "vela":
escrever_devagar("Pegas na vela. A luz revela algo escondido atrás da estante: uma chave brilhante.")
inventario.append("chave")
escrever_devagar("Apanhaste: CHAVE.")
escrever_devagar("Aparece uma porta no fundo da cave. Está trancada.")
escolha = escolher_opcao(["usar chave", "voltar"])
if escolha == "usar chave" and "chave" in inventario:
escrever_devagar("Consegues abrir a porta e sais da casa!")
fim_bom()
else:
escrever_devagar("Voltas para o quarto anterior.")
quarto_misterioso()
else:
escrever_devagar("A boneca vira lentamente a cabeça e diz: 'Estava à tua espera...'.")
sanidade -= 50
escrever_devagar(f"A tua sanidade agora é {sanidade}.")
if sanidade <= 0:
fim_mau()
else:
porao()
def fim_bom():
escrever_devagar("\nConseguiste escapar da casa assombrada com vida. Parabéns!", 0.06)
jogar_novamente()
def fim_mau():
escrever_devagar("\nA tua mente não aguentou o terror. Estás preso na casa... para sempre.", 0.06)
jogar_novamente()
def jogar_novamente():
escrever_devagar("Queres jogar outra vez? (sim / não)")
escolha = escolher_opcao(["sim", "não"])
if escolha == "sim":
reiniciar()
else:
escrever_devagar("Obrigado por jogares. Até à próxima!", 0.06)
sys.exit()
def reiniciar():
global inventario, sanidade
inventario = []
sanidade = 100
escrever_devagar("\nA reiniciar o jogo...\n")
inicio()
# Início do jogo
escrever_devagar("=== JOGO DE TERROR: A CASA ESCURA ===", 0.07)
inicio()