Sanjayraju30 commited on
Commit
6a59296
·
verified ·
1 Parent(s): c37131d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -22
app.py CHANGED
@@ -1,28 +1,53 @@
1
  import gradio as gr
2
- import random
3
-
4
- secret_number = random.randint(1, 100)
5
-
6
- def guess_number(user_guess):
7
- global secret_number
8
- try:
9
- guess = int(user_guess)
10
- if guess < secret_number:
11
- return "Too low! Try a higher number."
12
- elif guess > secret_number:
13
- return "Too high! Try a lower number."
14
- else:
15
- secret_number = random.randint(1, 100) # Reset for new game
16
- return "🎉 Correct! I've picked a new number."
17
- except ValueError:
18
- return "Please enter a valid number."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  with gr.Blocks() as demo:
21
- gr.Markdown("## 🎮 Guess the Number Game\nTry to guess the number (1 to 100).")
22
- guess_input = gr.Textbox(label="Your Guess")
23
- output = gr.Textbox(label="Result")
24
- submit_btn = gr.Button("Guess")
 
 
 
25
 
26
- submit_btn.click(guess_number, inputs=guess_input, outputs=output)
27
 
28
  demo.launch()
 
1
  import gradio as gr
2
+
3
+ # Initial empty board
4
+ board = [""] * 9
5
+ current_player = ["X"]
6
+ winner = [None]
7
+
8
+ def check_winner(b):
9
+ win_combos = [
10
+ [0, 1, 2], [3, 4, 5], [6, 7, 8], # rows
11
+ [0, 3, 6], [1, 4, 7], [2, 5, 8], # cols
12
+ [0, 4, 8], [2, 4, 6] # diagonals
13
+ ]
14
+ for combo in win_combos:
15
+ if b[combo[0]] and b[combo[0]] == b[combo[1]] == b[combo[2]]:
16
+ return b[combo[0]]
17
+ if "" not in b:
18
+ return "Draw"
19
+ return None
20
+
21
+ def make_move(i):
22
+ if board[i] or winner[0]:
23
+ return update_game()
24
+ board[i] = current_player[0]
25
+ result = check_winner(board)
26
+ if result:
27
+ winner[0] = result
28
+ else:
29
+ current_player[0] = "O" if current_player[0] == "X" else "X"
30
+ return update_game()
31
+
32
+ def update_game():
33
+ status = f"Winner: {winner[0]}" if winner[0] else f"Turn: {current_player[0]}"
34
+ return board, status
35
+
36
+ def reset_game():
37
+ for i in range(9): board[i] = ""
38
+ current_player[0] = "X"
39
+ winner[0] = None
40
+ return update_game()
41
 
42
  with gr.Blocks() as demo:
43
+ gr.Markdown("## 🎮 Tic Tac Toe (Hugging Face Version)")
44
+ btns = [gr.Button("", elem_id=f"btn{i}") for i in range(9)]
45
+ status = gr.Markdown("Turn: X")
46
+ reset = gr.Button("Reset Game")
47
+
48
+ for i, btn in enumerate(btns):
49
+ btn.click(make_move, inputs=[gr.Number(value=i, visible=False)], outputs=[*btns, status])
50
 
51
+ reset.click(fn=reset_game, inputs=[], outputs=[*btns, status])
52
 
53
  demo.launch()