From 98b378787ca05ba7b77f54038c9c76ecec08175d Mon Sep 17 00:00:00 2001 From: NirmitAgrawal02 Date: Fri, 21 Feb 2025 19:30:48 -0700 Subject: [PATCH] Added GUI Based Rock Paper Scissors Game --- GUI_Rock_Paper_Scissors.py | 170 +++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 GUI_Rock_Paper_Scissors.py diff --git a/GUI_Rock_Paper_Scissors.py b/GUI_Rock_Paper_Scissors.py new file mode 100644 index 00000000..5fb1aefc --- /dev/null +++ b/GUI_Rock_Paper_Scissors.py @@ -0,0 +1,170 @@ +# Import Required Library +from tkinter import * +import random + +# Create Object +root = Tk() + +# Set geometry +root.geometry("400x400") + +# Set title +root.title("Rock Paper Scissor Game") + +# Computer Value +computer_value = { + "0": "Rock", + "1": "Paper", + "2": "Scissor" +} + +user_score = 0 +comp_score = 0 +# Reset The Game + + +def reset_game(): + b1["state"] = "active" + b2["state"] = "active" + b3["state"] = "active" + l1.config(text="Player") + l3.config(text="Computer") + l4.config(text="") + +# Disable the Button + + +def score(): + global user_score + global comp_score + s = "Player:" + str(user_score) + " " + "Computer:" + str(comp_score) + l4.config(text=s) + + +def button_disable(): + b1["state"] = "disable" + b2["state"] = "disable" + b3["state"] = "disable" + +# If player selected rock + + +def isrock(): + c_v = computer_value[str(random.randint(0, 2))] + global user_score + global comp_score + if c_v == "Rock": + match_result = "Match Draw" + elif c_v == "Scissor": + match_result = "Player Win" + user_score = user_score + 1 + else: + match_result = "Computer Win" + comp_score = comp_score + 1 + l4.config(text=match_result) + l1.config(text="Rock ") + l3.config(text=c_v) + button_disable() + +# If player selected paper + + +def ispaper(): + c_v = computer_value[str(random.randint(0, 2))] + global user_score + global comp_score + if c_v == "Paper": + match_result = "Match Draw" + elif c_v == "Scissor": + match_result = "Computer Win" + comp_score = comp_score + 1 + else: + match_result = "Player Win" + user_score = user_score + 1 + + l4.config(text=match_result) + l1.config(text="Paper ") + l3.config(text=c_v) + button_disable() + +# If player selected scissor + + +def isscissor(): + c_v = computer_value[str(random.randint(0, 2))] + global user_score + global comp_score + if c_v == "Rock": + match_result = "Computer Win" + comp_score = comp_score + 1 + elif c_v == "Scissor": + match_result = "Match Draw" + else: + match_result = "Player Win" + user_score = user_score + 1 + l4.config(text=match_result) + l1.config(text="Scissor ") + l3.config(text=c_v) + button_disable() + + +# Add Labels, Frames and Button +Label(root, + text="Rock Paper Scissor", + font="normal 20 bold", + fg="blue").pack(pady=20) + +frame = Frame(root) +frame.pack() + +l1 = Label(frame, + text="Player ", + font=10) + +l2 = Label(frame, + text="VS ", + font="normal 10 bold") + +l3 = Label(frame, text="Computer", font=10) + +l1.pack(side=LEFT) +l2.pack(side=LEFT) +l3.pack() + +l4 = Label(root, + text="", + font="normal 20 bold", + bg="white", + width=20, + borderwidth=2, + relief="solid") +l4.pack(pady=20) + +frame1 = Frame(root) +frame1.pack() + +b1 = Button(frame1, text="Rock", + font=10, width=7, + command=isrock) + +b2 = Button(frame1, text="Paper ", + font=10, width=7, + command=ispaper) + +b3 = Button(frame1, text="Scissor", + font=10, width=7, + command=isscissor) + +b1.pack(side=LEFT, padx=10) +b2.pack(side=LEFT, padx=10) +b3.pack(padx=10) + +Button(root, text="Play Another Round", + font=10, fg="red", + bg="black", command=reset_game).pack(pady=10) +Button(root, text="Score", + font=10, fg="red", + bg="black", command=score).pack(pady=10) + +# Execute Tkinter +root.mainloop()