Rock Paper Scissors

 Rock Paper Scissors 


from tkinter import*

from PIL import ImageTk, Image

import random


class Game:

def __init__(self,root):

self.root = root

self.root.geometry("1080x2129+0+0")

self.root.resizable(False,False)

self.root.overrideredirect(True)

self.root.config(bg="white")

self.ptext = StringVar()

path = "/storage/emulated/0/RockPaperScissor/"

self.rock = path + "Rock.jpg"

self.paper = path + "Paper.jpg"

self.scissor = path + "Scissor.jpg"

self.blank = path + "Blank.jpg"

self.rock = Image.open(self.rock)

self.paper = Image.open(self.paper)

self.scissor = Image.open(self.scissor)

self.blank = Image.open(self.blank)

self.rock = self.rock.resize((300, 300))

self.paper = self.paper.resize((300, 300))

self.scissor = self.scissor.resize((300, 300))

self.blank = self.blank.resize((300, 300))

self.rockcom = self.rock.rotate(90)

self.papercom = self.paper.rotate(90)

self.scissorcom = self.scissor.rotate(90)

self.rockcom = ImageTk.PhotoImage(self.rockcom)

self.papercom = ImageTk.PhotoImage(self.papercom)

self.scissorcom = ImageTk.PhotoImage(self.scissorcom)

self.rock = self.rock.rotate(270)

self.paper = self.paper.rotate(270)

self.scissor = self.scissor.rotate(270)

self.rock = ImageTk.PhotoImage(self.rock)

self.paper = ImageTk.PhotoImage(self.paper)

self.scissor = ImageTk.PhotoImage(self.scissor)

self.blank = ImageTk.PhotoImage(self.blank)

self.label = Label(self.root, text = " Rock Paper Scissor ", bg="#00FF0A",font = ("Arial",18,"bold"))

self.turnlabel = Label(self.root,text ="Let's Play",bg="white",font=("Arial",10,"bold","italic"))

self.you = Label(self.root,text="You",bg="white")

self.comp = Label(self.root,text="Comp",bg="white")

self.rockbtn = Button(self.root,bd=7,text="Rock",bg="#00A0E8",font=("Arial",8,"bold"),command=self.prock)

self.paperbtn = Button(self.root,bd=7,text="Paper",bg="yellow",font=("Arial",8,"bold"),command=self.ppaper)

self.scissorbtn = Button(self.root,bd=7,text="Scissor",bg="red",font=("Arial",8,"bold"),command=self.pscissor)

self.info = Label(self.root,text=" Choose and Press any one Button ",bg="white")

self.plrlabel = Label(self.root,image=self.blank)

self.plabel = Label(self.root,text="",bg="white",textvariable=self.ptext,font=("Arial",10,"bold"))

self.comlabel = Label(self.root,image=self.blank)

self.clabel = Label(self.root,text="",bg="white",font=("Arial",10,"bold"))

self.result = Label(self.root,text="",bg="white",font=("Arial",10,"bold"))

self.resetbtn = Button(self.root,bd=7,text="Reset",bg="gray",font=("Arial",10,"bold"),command=self.reset)

def main(self):

self.label.place(x=60,y=50)

self.turnlabel.place(x=400,y=250)

self.you.place(x=190,y=340)

self.comp.place(x=780,y=340)

self.rockbtn.place(x=150,y=1000,width=200,height=100)

self.paperbtn.place(x=450,y=1000,width=200,height=100)

self.scissorbtn.place(x=750,y=1000,width=200,height=100)

self.info.place(x=200,y=900)

self.plrlabel.place(x=80,y=400)

self.plabel.place(x=100,y=720)

self.comlabel.place(x=700,y=400)

self.clabel.place(x=730,y=720)

self.result.place(x=370,y=1200)

self.resetbtn.place(x=440,y=1300)

def prock(self):

self.plrlabel.config(image=self.rock)

self.ptext.set("Rock")

self.computer()

def ppaper(self):

self.plrlabel.config(image=self.paper)

self.ptext.set("Paper")

self.computer()

def pscissor(self):

self.plrlabel.config(image=self.scissor)

self.ptext.set("Scissor")

self.computer()

def crock(self):

self.comlabel.config(image=self.rockcom)

self.clabel.config(text="Rock")

def cpaper(self):

self.comlabel.config(image=self.papercom)

self.clabel.config(text="Paper")

def cscissor(self):

self.comlabel.config(image=self.scissorcom)

self.clabel.config(text="Scissor")

def computer(self):

self.choose = ["rock","paper","scissor"]

choice = random.choice(self.choose)

if choice=="rock":

self.crock()

elif choice=="paper":

self.cpaper()

else:

self.cscissor()

ply = self.ptext.get()

if ply=="Rock" and choice=="scissor":

self.result.config(text="You Win")

elif ply=="Paper" and choice=="rock":

self.result.config(text="You Win")

elif ply=="Scissor" and choice=="paper":

self.result.config(text="You Win")

elif ply=="Rock" and choice=="rock":

self.result.config(text="Game Draw")

elif ply=="Paper" and choice=="paper":

self.result.config(text="Game Draw")

elif ply=="Scissor" and choice=="scissor":

self.result.config(text="Game Draw")

else:

self.result.config(text="Computer Win")

def reset(self):

self.plrlabel.config(image=self.blank)

self.comlabel.config(image=self.blank)

self.result.config(text="")

self.ptext.set("")

self.clabel.config(text="")

root = Tk()

obj = Game(root)

obj.main()

root.mainloop()








Comments

Popular posts from this blog

Remember matching game

Calendar