Spaces:
Runtime error
Runtime error
import random as r | |
import gradio as gr | |
def generate_number(): | |
while True: | |
num = [r.randint(1, 9)] + [r.randint(0, 9) for _ in range(3)] | |
if len(set(num)) == 4: | |
return num | |
def play_game(user_guess): | |
global secret_number | |
guessed_number = [int(i) for i in user_guess] | |
if len(set(user_guess)) != 4 or user_guess[0] == '0': | |
return "Invalid input. Please enter a 4-digit number with non-repeating digits and the first digit not being 0." | |
cow = sum(g == s for g, s in zip(guessed_number, secret_number)) | |
bull = sum(g in secret_number and g != s for g, s in zip(guessed_number, secret_number)) | |
if cow == 4: | |
return "Congratulations! You won the game." | |
else: | |
return f"Bulls: {bull}\nCows: {cow}\nEnter your next guess" | |
# Generate the secret number | |
secret_number = generate_number() | |
def game_response(user_input,identifier=None): | |
global secret_number | |
if secret_number is None: | |
secret_number = generate_number() | |
return "Welcome to Bulls and Cows game! Try to guess the secret 4-digit number." | |
response = play_game(user_input) | |
if "Congratulations!" in response: | |
secret_number = None # Reset secret number for the next game | |
return response | |
# Interface setup | |
demo = gr.ChatInterface(game_response, examples=["1234", "5678", "9012"]) | |
if __name__ == "__main__": | |
demo.launch() |