Mundo em Python

Dicionário de Basebol

from tkinter import *

basebol_termos = {
"Lançador": "Jogador (Pitcher) que lança a bola em direção ao batedor, a partir do monte de lançamento.",
"Receptor": "Jogador (Catcher) que se posiciona atrás do batedor para receber os lançamentos não rebatidos.",
"Home Run": "Quando a bola é batida para fora do campo válido de jogo, permitindo ao batedor percorrer todas as bases e marcar ponto.",
"Eliminação (Out)": "Quando o corredor ou batedor é retirado de jogo por regra (ex.: bola apanhada no ar, toque com bola na mão do defensor).",
"Strike": "Lançamento válido dentro da zona de strike que o batedor falha ou não tenta rebater.",
"Ball": "Lançamento inválido que passa fora da zona de strike, desde que o batedor não tente rebater.",
"Base": "As quatro marcas no campo (1.ª, 2.ª, 3.ª base e a base principal – home plate) que o corredor deve alcançar.",
"Inning": "Período de jogo constituído por uma metade em que uma equipa defende e outra ataca; um jogo profissional tem 9 innings.",
"Double Play": "Jogada defensiva em que dois atacantes são eliminados na mesma sequência.",
"Grand Slam": "Home Run conseguido quando todas as bases estão ocupadas, resultando em 4 pontos.",
"Walk (Base por bolas)": "Quando o lançador faz 4 bolas inválidas (balls), o batedor avança automaticamente para a 1.ª base.",
"Hit": "Qualquer rebatida válida que permite ao batedor alcançar pelo menos a 1.ª base.",
"Erro (Error)": "Falha defensiva que permite ao batedor ou corredor avançar indevidamente.",
"Campo Interior (Infield)": "Zona do campo que engloba o diamante das quatro bases.",
"Campo Exterior (Outfield)": "Zona do campo mais afastada, para além das bases, onde atuam os defensores externos."
} root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Dicionário de Basebol") titulo = Label(text="Dicionário de Basebol",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.15, rely=0.05) texto_sub1 = Label(text="Escolha um termo:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.35, rely=0.2) var = StringVar()
dropDownList = list(basebol_termos.keys())
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.1, rely=0.3, relwidth=0.8)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14, "bold")) def limpar():
resultado_texto.config(text="") def app():
termo_escolhido = var.get()
definicao = basebol_termos.get(termo_escolhido, "Definição não encontrada.")
resultado_texto.config(text=f"{termo_escolhido}:\n\n{definicao}") # Botões
but1 = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.45, relwidth=0.25, relheight=0.1) but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.45, relwidth=0.25, relheight=0.1) resultado_texto = Message(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3",
anchor="nw", justify="left", width=600, padx=10, pady=10)
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.3) root.mainloop()
0