from tkinter import *
def responder_pecado(pecado):
respostas = {
"Ira": "SAI DAQUI! NÃO QUERO FALAR CONTIGO!",
"Gula": "Tens mais? Nunca é suficiente para mim.",
"Luxúria": "És tão interessante... Conta-me mais.",
"Avareza": "Esta informação é minha. Não a vou partilhar.",
"Preguiça": "Hmm... não me apetece responder agora...",
"Inveja": "Gostava tanto de ser como tu...",
"Soberba": "Sou claramente o melhor aqui. Fato."
}
return respostas.get(pecado, "Pecado desconhecido.")
estilos = {
"Ira": {
"cor": "#8B0000",
"fonte": ("Arial", 14, "bold"),
"historia": "Nasce da frustração e desejo de vingança. Queima tudo à volta."
},
"Gula": {
"cor": "#FF8C00",
"fonte": ("Comic Sans MS", 13, "normal"),
"historia": "Começa como prazer... mas nunca basta. É um ciclo sem fim."
},
"Luxúria": {
"cor": "#C71585",
"fonte": ("Times New Roman", 14, "italic"),
"historia": "Procura o prazer a todo o custo. Encantador, mas perigoso."
},
"Avareza": {
"cor": "#DAA520",
"fonte": ("Courier", 13, "bold"),
"historia": "Nunca partilha. Acumula por medo e obsessão."
},
"Preguiça": {
"cor": "#708090",
"fonte": ("Calibri", 12, "normal"),
"historia": "Deixa os dias passarem, sem vontade de viver nem lutar."
},
"Inveja": {
"cor": "#2E8B57",
"fonte": ("Verdana", 13, "italic"),
"historia": "Não suporta ver o sucesso alheio. Sofre em silêncio."
},
"Soberba": {
"cor": "#4B0082",
"fonte": ("Impact", 14, "bold"),
"historia": "Acredita ser superior. Despreza quem está abaixo."
}
}
def mostrar_resposta():
pecado = var.get()
resposta = responder_pecado(pecado)
estilo = estilos.get(pecado, {})
resultado_texto.config(
text=resposta,
fg="white",
bg=estilo.get("cor", "#000000"),
font=estilo.get("fonte", ("Arial", 12))
)
descricao_texto.config(
text=estilo.get("historia", ""),
fg="white",
bg=estilo.get("cor", "#000000"),
font=("Arial", 10)
)
def limpar():
resultado_texto.config(text="", bg="#cfe2f3")
descricao_texto.config(text="", bg="#cfe2f3")
def sair():
if messagebox.askyesno("Sair", "Tens a certeza que queres sair?"):
root.destroy()
root = Tk()
root.geometry("800x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Simulador de Personalidades")
titulo = Label(root, text="Simulador de Personalidades",
font=("Arial", 26, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.25, rely=0.05, relwidth=0.6)
texto_sub1 = Label(root, text="Escolhe o Pecado:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.15, rely=0.15, relwidth=0.7)
var = StringVar()
pecados = ["Ira", "Gula", "Luxúria", "Avareza", "Preguiça", "Inveja", "Soberba"]
var.set(pecados[0])
dropdown = OptionMenu(root, var, *pecados)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
dropdown.place(relx=0.34, rely=0.25, relwidth=0.4)
from tkinter import messagebox
frame_botoes = Frame(root, bg="#103030")
frame_botoes.place(relx=0.15, rely=0.45, relwidth=0.7)
Button(frame_botoes, text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=mostrar_resposta,
width=15).grid(row=0, column=0, padx=10)
Button(frame_botoes, text="Limpar", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=limpar,
width=15).grid(row=0, column=1, padx=10)
Button(frame_botoes, text="Sair", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=sair,
width=15).grid(row=0, column=2, padx=10)
resultado_texto = Label(root, text="", bg="#cfe2f3", wraplength=700, justify="center")
resultado_texto.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.12)
descricao_texto = Label(root, text="", bg="#cfe2f3", wraplength=700, justify="center")
descricao_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.12)
root.mainloop()