Annual Project

import tkinter as tk

def update_scores():
    # Get Team A information
    team_a_name = entry_team_a_name.get()
    team_a_runs = int(entry_team_a_runs.get())
    team_a_wickets = int(entry_team_a_wickets.get())

    # Get Team B information
    team_b_name = entry_team_b_name.get()
    team_b_runs = int(entry_team_b_runs.get())
    team_b_wickets = int(entry_team_b_wickets.get())

    # Get additional information
    current_bowler = entry_current_bowler.get()
    striker = entry_striker.get()
    non_striker = entry_non_striker.get()
    total_runs = team_a_runs if team_a_name == "Team A" else team_b_runs
    total_wickets = team_a_wickets if team_a_name == "Team A" else team_b_wickets
    overs_passed = float(entry_overs_passed.get())
    run_rate = 0.0 if overs_passed == 0 else total_runs / overs_passed

    # Update labels with the entered values
    label_team_a.config(text=f"{team_a_name}   |   Runs: {team_a_runs}   |   Wickets: {team_a_wickets}", bg='lightblue', font=('Arial', 12))
    label_team_b.config(text=f"{team_b_name}   |   Runs: {team_b_runs}   |   Wickets: {team_b_wickets}", bg='lightgreen', font=('Arial', 12))
    label_current_bowler.config(text=f"Current Bowler: {current_bowler}", font=('Arial', 10))
    label_striker.config(text=f"Striker: {striker}", font=('Arial', 10))
    label_non_striker.config(text=f"Non Striker: {non_striker}", font=('Arial', 10))
    label_total_runs_wickets.config(text=f"Total Runs: {total_runs}   |   Total Wickets: {total_wickets}", font=('Arial', 10))
    label_overs_passed.config(text=f"Overs Passed: {overs_passed}", font=('Arial', 10))
    label_run_rate.config(text=f"Run Rate: {run_rate:.2f}", font=('Arial', 10))

root = tk.Tk()
root.title("Cricket Scoreboard")

# Team entries
frame_teams = tk.Frame(root)
frame_teams.pack()

label_team_a_name = tk.Label(frame_teams, text="Team A:", font=('Arial', 12))
label_team_a_name.grid(row=0, column=0)
entry_team_a_name = tk.Entry(frame_teams)
entry_team_a_name.grid(row=0, column=1)

label_team_a_runs = tk.Label(frame_teams, text="Runs:", font=('Arial', 12))
label_team_a_runs.grid(row=1, column=0)
entry_team_a_runs = tk.Entry(frame_teams)
entry_team_a_runs.grid(row=1, column=1)

label_team_a_wickets = tk.Label(frame_teams, text="Wickets:", font=('Arial', 12))
label_team_a_wickets.grid(row=2, column=0)
entry_team_a_wickets = tk.Entry(frame_teams)
entry_team_a_wickets.grid(row=2, column=1)

label_team_b_name = tk.Label(frame_teams, text="Team B:", font=('Arial', 12))
label_team_b_name.grid(row=0, column=2)
entry_team_b_name = tk.Entry(frame_teams)
entry_team_b_name.grid(row=0, column=3)

label_team_b_runs = tk.Label(frame_teams, text="Runs:", font=('Arial', 12))
label_team_b_runs.grid(row=1, column=2)
entry_team_b_runs = tk.Entry(frame_teams)
entry_team_b_runs.grid(row=1, column=3)

label_team_b_wickets = tk.Label(frame_teams, text="Wickets:", font=('Arial', 12))
label_team_b_wickets.grid(row=2, column=2)
entry_team_b_wickets = tk.Entry(frame_teams)
entry_team_b_wickets.grid(row=2, column=3)

# Additional information entries
frame_additional_info = tk.Frame(root)
frame_additional_info.pack()

label_current_bowler = tk.Label(frame_additional_info, text="Current Bowler:", font=('Arial', 12))
label_current_bowler.grid(row=0, column=0)
entry_current_bowler = tk.Entry(frame_additional_info)
entry_current_bowler.grid(row=0, column=1)

label_striker = tk.Label(frame_additional_info, text="Striker:", font=('Arial', 12))
label_striker.grid(row=1, column=0)
entry_striker = tk.Entry(frame_additional_info)
entry_striker.grid(row=1, column=1)

label_non_striker = tk.Label(frame_additional_info, text="Non Striker:", font=('Arial', 12))
label_non_striker.grid(row=2, column=0)
entry_non_striker = tk.Entry(frame_additional_info)
entry_non_striker.grid(row=2, column=1)

label_overs_passed = tk.Label(frame_additional_info, text="Overs Passed:", font=('Arial', 12))
label_overs_passed.grid(row=3, column=0)
entry_overs_passed = tk.Entry(frame_additional_info)
entry_overs_passed.grid(row=3, column=1)

# Update button
update_button = tk.Button(root, text="Update Scores", command=update_scores, bg='orange', fg='white', font=('Arial', 12))
update_button.pack()

# Labels for information display
label_team_a = tk.Label(root, text="Team A   |   Runs: 0   |   Wickets: 0", bg='lightblue', font=('Arial', 12))
label_team_a.pack()

label_team_b = tk.Label(root, text="Team B   |   Runs: 0   |   Wickets: 0", bg='lightgreen', font=('Arial', 12))
label_team_b.pack()

label_current_bowler = tk.Label(root, text="Current Bowler: ", font=('Arial', 10))
label_current_bowler.pack()

label_striker = tk.Label(root, text="Striker: ", font=('Arial', 10))
label_striker.pack()

label_non_striker = tk.Label(root, text="Non Striker: ", font=('Arial', 10))
label_non_striker.pack()

label_total_runs_wickets = tk.Label(root, text="Total Runs: 0   |   Total Wickets: 0", font=('Arial', 10))
label_total_runs_wickets.pack()

label_overs_passed = tk.Label(root, text="Overs Passed: 0.0", font=('Arial', 10))
label_overs_passed.pack()

label_run_rate = tk.Label(root, text="Run Rate: 0.0", font=('Arial', 10))
label_run_rate.pack()

root.mainloop()

Leave a comment