import random
from tkinter import *
root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Simulador de Nível de Atividade Cerebral")
root.option_add("*Font", "Arial 11")
titulo = Label(
text="Simulador de Nível de Atividade Cerebral",
font=("Arial", "25", "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.05, rely=0.05)
Label(text="Horas de sono na última noite:",
bg="#103030", fg="#49e3e3",
font=("Arial", 17, "bold")).place(relx=0.05, rely=0.23)
Label(text="Cafés tomados hoje:",
bg="#103030", fg="#49e3e3",
font=("Arial", 17, "bold")).place(relx=0.18, rely=0.35)
Label(text="Nível de foco (0 a 10):",
bg="#103030", fg="#49e3e3",
font=("Arial", 17, "bold")).place(relx=0.15, rely=0.5)
horas_sono = StringVar()
cafes_tomados = StringVar()
nivel_foco = StringVar()
Entry(textvariable=horas_sono,
bg="white", fg="blue",
justify='center').place(relx=0.55, rely=0.24, relwidth=0.35)
Entry(textvariable=cafes_tomados,
bg="white", fg="blue",
justify='center').place(relx=0.55, rely=0.36, relwidth=0.35)
Entry(textvariable=nivel_foco,
bg="white", fg="blue",
justify='center').place(relx=0.55, rely=0.51, relwidth=0.35)
resultado_texto = Label(
text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3",
justify="center"
)
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
def limpar():
horas_sono.set("")
cafes_tomados.set("")
nivel_foco.set("")
resultado_texto.config(text="")
def app():
try:
sono = int(horas_sono.get())
cafe = int(cafes_tomados.get())
foco = int(nivel_foco.get())
if foco < 0 or foco > 10:
resultado_texto.config(text="O foco deve estar entre 0 e 10.")
return
nivel = (sono * 3) + (foco * 6) - (cafe * 2)
nivel += random.randint(-5, 5)
if nivel < 20:
mensagem = "Baixa atividade cerebral\nEstás cansado ou distraído."
elif nivel < 40:
mensagem = "Atividade moderada\nEstado relaxado."
elif nivel < 60:
mensagem = "Boa actividade cerebral\nFoco equilibrado."
else:
mensagem = "Alta actividade cerebral\nFoco máximo!"
resultado_texto.config(text=f"""
Índice cerebral: {nivel}
{mensagem}
""")
except ValueError:
resultado_texto.config(text="Insere apenas números válidos.")
Button(text="Simular", bg="#107db2", fg="white",
font=("verdana", 12, "bold"),
command=app).place(relx=0.1, rely=0.65, relwidth=0.25, relheight=0.1)
Button(text="Limpar", bg="#107db2", fg="white",
font=("verdana", 12, "bold"),
command=limpar).place(relx=0.4, rely=0.65, relwidth=0.25, relheight=0.1)
Button(text="Sair", bg="#107db2", fg="white",
font=("verdana", 12, "bold"),
command=root.destroy).place(relx=0.7, rely=0.65, relwidth=0.25, relheight=0.1)
root.mainloop()