Skip to content

codehelping.com

  • Home
  • Projects
  • Blog
  • Contact Us
  • About Us

Create a Fun Rock Paper Scissors Game in Python with Tkinter | 2025 Tutorial

Posted on February 10, 2025May 24, 2025 By Omkar Pathak No Comments on Create a Fun Rock Paper Scissors Game in Python with Tkinter | 2025 Tutorial
Project, Python Project

What is the Rock Paper Scissors Game in Python Tkinter?

Rock Paper Scissors is a simple yet exciting game that can be easily implemented using Python and Tkinter. In this blog, we’ll learn how to build a fully functional Rock Paper Scissors game with Python and the Tkinter library for GUI interaction.

Create a Fun Rock Paper Scissors Game in Python with Tkinter | 2025 Tutorial

Why use Tkinter Library for Rock Paper Scissors in Python?

Tkinter is a built-in Python library that provides an easy way to create graphical user interfaces (GUIs). It is lightweight and perfect for small projects like this.


How this Rock Paper Scissors Game in Python Works?

  1. The user selects Rock, Paper, or Scissors.
  2. The computer randomly selects its choice.
  3. The winner is determined based on standard Rock Paper Scissors rules.
  4. The game displays the result and allows the user to reset and play again.
Rock Paper Scissors Game in Python  Tkinter

What are the features of this Rock Paper Scissors Game?

  • Interactive buttons for user selection.
  • A screen of both player’s and computer’s choices.
  • It automatically declares the winner according to the selections made.
  • There should be a reset button for a replay.

Complete Code: Rock Paper Scissors Game with Python and Tkinter

# Import Required Library
from tkinter import *
import random

# Create Object
app = Tk()

# Set geometry
app.geometry("300x300")

# Set title
app.title("Rock Paper Scissor Game")

# Computer Choices
comp_choice = {
	"0": "Rock",
	"1": "Paper",
	"2": "Scissor"
}

# Reset The Game
def restart():
	btn_rock["state"] = "active"
	btn_paper["state"] = "active"
	btn_scissor["state"] = "active"
	label_player.config(text="Player")
	label_computer.config(text="Computer")
	label_result.config(text="")

# Disable the Button
def disable_buttons():
	btn_rock["state"] = "disable"
	btn_paper["state"] = "disable"
	btn_scissor["state"] = "disable"

# If player selected rock
def choose_rock():
	comp_pick = comp_choice[str(random.randint(0, 2))]
	if comp_pick == "Rock":
		outcome = "Match Draw"
	elif comp_pick == "Scissor":
		outcome = "Player Win"
	else:
		outcome = "Computer Win"
	label_result.config(text=outcome)
	label_player.config(text="Rock")
	label_computer.config(text=comp_pick)
	disable_buttons()

# If player selected paper
def choose_paper():
	comp_pick = comp_choice[str(random.randint(0, 2))]
	if comp_pick == "Paper":
		outcome = "Match Draw"
	elif comp_pick == "Scissor":
		outcome = "Computer Win"
	else:
		outcome = "Player Win"
	label_result.config(text=outcome)
	label_player.config(text="Paper")
	label_computer.config(text=comp_pick)
	disable_buttons()

# If player selected scissor
def choose_scissor():
	comp_pick = comp_choice[str(random.randint(0, 2))]
	if comp_pick == "Rock":
		outcome = "Computer Win"
	elif comp_pick == "Scissor":
		outcome = "Match Draw"
	else:
		outcome = "Player Win"
	label_result.config(text=outcome)
	label_player.config(text="Scissor")
	label_computer.config(text=comp_pick)
	disable_buttons()

# Add Labels, Frames, and Buttons
Label(app,
	text="Rock Paper Scissor",
	font="normal 20 bold",
	fg="blue").pack(pady=20)

frame_top = Frame(app)
frame_top.pack()

label_player = Label(frame_top, text="Player", font=10)
label_vs = Label(frame_top, text="VS", font="normal 10 bold")
label_computer = Label(frame_top, text="Computer", font=10)

label_player.pack(side=LEFT)
label_vs.pack(side=LEFT)
label_computer.pack()

label_result = Label(app,
			  text="",
			  font="normal 20 bold",
			  bg="white",
			  width=15,
			  borderwidth=2,
			  relief="solid")
label_result.pack(pady=20)

frame_buttons = Frame(app)
frame_buttons.pack()

btn_rock = Button(frame_buttons, text="Rock",
			font=10, width=7,
			command=choose_rock)

btn_paper = Button(frame_buttons, text="Paper",
			 font=10, width=7,
			 command=choose_paper)

btn_scissor = Button(frame_buttons, text="Scissor",
			   font=10, width=7,
			   command=choose_scissor)

btn_rock.pack(side=LEFT, padx=10)
btn_paper.pack(side=LEFT, padx=10)
btn_scissor.pack(padx=10)

Button(app, text="Reset Game",
	   font=10, fg="red",
	   bg="black", command=restart).pack(pady=20)

# Execute Tkinter
app.mainloop()

Conclusion: Rock Paper Scissors Game in Python Tkinter

The Rock Paper Scissors Game project in Python Tkinter, is an excellent starting point for beginners looking to dive into Python GUI development. It provides a solid foundation for understanding the basics of graphical user interface (GUI) programming and offers plenty of room for enhancement. You can take it a step further by adding exciting animations, sound effects, and a scoring system to make the game more interactive and enjoyable.

Thanks for visiting codehelping.com. For more exciting Python projects and tutorials, feel free to explore further on our site and visit the link

Post navigation

❮ Previous Post: Complete Guide to Build a Classic Snake Game in Python with Pygame | 2025
Next Post: Master the Hangman Game in Python: 2025 CodeHelping ❯

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Home
  • Projects
  • Blog
  • Contact Us
  • About Us

Copyright © 2025 codehelping.com.

Theme: Oceanly by ScriptsTown

Social Chat is free, download and try it now here!