awacke1 commited on
Commit
25ff40c
·
1 Parent(s): 73d25fa

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ def multiplayer_game():
4
+ st.title("Tic Tac Toe")
5
+
6
+ game_state = [[' ' for i in range(3)] for j in range(3)]
7
+ player = "X"
8
+ winner = None
9
+
10
+ def check_winner():
11
+ # Check rows
12
+ for row in game_state:
13
+ if row == ["X", "X", "X"]:
14
+ return "X"
15
+ elif row == ["O", "O", "O"]:
16
+ return "O"
17
+
18
+ # Check columns
19
+ for col in range(3):
20
+ if game_state[0][col] == game_state[1][col] == game_state[2][col] == "X":
21
+ return "X"
22
+ elif game_state[0][col] == game_state[1][col] == game_state[2][col] == "O":
23
+ return "O"
24
+
25
+ # Check diagonals
26
+ if (game_state[0][0] == game_state[1][1] == game_state[2][2] == "X" or
27
+ game_state[0][2] == game_state[1][1] == game_state[2][0] == "X"):
28
+ return "X"
29
+ elif (game_state[0][0] == game_state[1][1] == game_state[2][2] == "O" or
30
+ game_state[0][2] == game_state[1][1] == game_state[2][0] == "O"):
31
+ return "O"
32
+
33
+ return None
34
+
35
+ def render_game_state():
36
+ for row_num, row in enumerate(game_state):
37
+ row_string = "|".join(row)
38
+ st.write(row_string)
39
+ if row_num != 2:
40
+ st.write("-+-+-")
41
+
42
+ for i in range(9):
43
+ render_game_state()
44
+ st.write("Player ", player, " turn. Choose a square (1-9).")
45
+ chosen_square = st.number_input("", min_value=1, max_value=9)
46
+ row = (chosen_square - 1) // 3
47
+ col = (chosen_square - 1) % 3
48
+ if game_state[row][col] != " ":
49
+ st.write("Square already taken. Please choose another.")
50
+ continue
51
+ game_state[row][col] = player
52
+ winner = check_winner()
53
+ if winner:
54
+ st.write("Player ", winner, " wins!")
55
+ break
56
+ if player == "X":
57
+ player = "O"
58
+ else:
59
+ player = "X"
60
+ if not winner:
61
+ st.write("It's a draw!")
62
+
63
+ if __name__ == "__main__":
64
+ multiplayer_game()