somya-27-04-03's picture
Upload 3 files
5a0aa97 verified
import gradio as gr
import random
# 🌟 Initialize scores globally
player_score = 0
computer_score = 0
def reset_scores():
global player_score, computer_score
player_score = 0
computer_score = 0
return "🔄 Scores have been reset to 0-0."
def play(user_choice):
global player_score, computer_score
choices = ["rock", "paper", "scissors"]
computer_choice = random.choice(choices)
# Determine result
if user_choice == computer_choice:
result = "It's a tie!"
elif (user_choice == "rock" and computer_choice == "scissors") or \
(user_choice == "paper" and computer_choice == "rock") or \
(user_choice == "scissors" and computer_choice == "paper"):
result = "You Win!"
player_score += 1
else:
result = "You Lose!"
computer_score += 1
return (f"✊ You chose: {user_choice}\n"
f"💻 Computer chose: {computer_choice}\n"
f"🎯 Result: {result}\n\n"
f"📊 Scores => Player: {player_score} | Computer: {computer_score}")
with gr.Blocks(css="""
body {
background: url('https://img.freepik.com/free-vector/children-playing-rock-paper-scissors_1308-33220.jpg') no-repeat center center fixed;
background-size: cover;
}
.gradio-container {
background-color: rgba(255, 255, 255, 0.85);
border-radius: 15px;
padding: 20px;
max-width: 400px;
margin: auto;
margin-top: 50px;
}
h1, h2, h3 {
color: black;
text-align: center;
}
""") as demo:
gr.Markdown("## ✊ ✋ ✌️ Rock Paper Scissors Game")
with gr.Row():
with gr.Column():
user_choice = gr.Radio(["rock", "paper", "scissors"], label="Choose Rock, Paper, or Scissors")
play_button = gr.Button("Submit")
reset_button = gr.Button("Reset Scores", variant="stop")
output = gr.Textbox(label="output", lines=6)
play_button.click(fn=play, inputs=user_choice, outputs=output)
reset_button.click(fn=reset_scores, inputs=None, outputs=output)
demo.launch(share=True)