Mundo em Python

Escolha a Porta

import random
from tkinter import * # Criar janela
root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Escolha a Porta") # Título
titulo = Label(root, text="Escolha a Porta",
font=("Arial", 28, "bold"),
bg="#103030", fg="#49e3e3")
titulo.place(relx=0.1, rely=0.05) # Texto
texto_sub1 = Label(root, text="Escolha uma porta:",
font=("Arial", 18, "bold"),
bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25) # Entrada
porta = StringVar()
porta_entrada = Entry(root, textvariable=porta,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
porta_entrada.place(relx=0.7, rely=0.26, relwidth=0.2) # Resultado
resultado_texto = Label(root, text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3", wraplength=350, justify="center")
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.3) # Variável para guardar estado do jogo
mapa = {} # Iniciar novo jogo
def novo_jogo():
global mapa
portas = [1, 2, 3]
premios = ["Tesouro", "Desafio inesperado", "Prémio misterioso"]
random.shuffle(premios)
mapa = dict(zip(portas, premios)) porta.set("")
resultado_texto.config(text="Novo jogo iniciado! Escolhe uma porta.", fg="black") # Jogar
def jogar():
try:
escolha = int(porta.get()) if escolha not in [1, 2, 3]:
resultado_texto.config(text="Porta inválida. Escolhe 1, 2 ou 3.", fg="red")
return

resultado_texto.config(text="A abrir a porta...", fg="black") def mostrar_resultado():
resultado = mapa.get(escolha, "") if resultado == "Tesouro":
mensagem = f"Porta {escolha}: {resultado}\nParabéns! Ganhaste!"
cor = "green"
elif resultado == "Desafio inesperado":
mensagem = f"Porta {escolha}: {resultado}\nTens um desafio!"
cor = "orange"
else:
mensagem = f"Porta {escolha}: {resultado}\n Prémio misterioso!"
cor = "blue"

resultado_texto.config(text=mensagem, fg=cor) root.after(1000, mostrar_resultado) except ValueError:
resultado_texto.config(text=" Digita um número entre 1, 2, 3", fg="red") # Botões
but_jogar = Button(root, text="Jogar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=jogar)
but_jogar.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) but_novo = Button(root, text="Novo Jogo", bd=2, bg='#28a745', fg='white',
font=('verdana', 12, 'bold'), command=novo_jogo)
but_novo.place(relx=0.4, rely=0.45, relwidth=0.25, relheight=0.1) but_sair = Button(root, text="Sair", bd=2, bg='#dc3545', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.45, relwidth=0.25, relheight=0.1) novo_jogo() root.mainloop()
0