Skip to content

Commit b324c90

Browse files
committed
added a Tic-Tac-Toe Game
1 parent c1252fd commit b324c90

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

TIC_TAC_TOE/index.py

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
def print_board(board):
2+
for row in board:
3+
print(" | ".join(row))
4+
print("-" * 9)
5+
6+
def check_winner(board, player):
7+
for i in range(3):
8+
# Check rows and columns
9+
if all(board[i][j] == player for j in range(3)) or all(board[j][i] == player for j in range(3)):
10+
return True
11+
# Check diagonals
12+
if all(board[i][i] == player for i in range(3)) or all(board[i][2 - i] == player for i in range(3)):
13+
return True
14+
return False
15+
16+
def is_full(board):
17+
return all(cell != " " for row in board for cell in row)
18+
19+
def main():
20+
board = [[" " for _ in range(3)] for _ in range(3)]
21+
player = "X"
22+
23+
while True:
24+
print_board(board)
25+
row = int(input(f"Player {player}, enter the row (0, 1, 2): "))
26+
col = int(input(f"Player {player}, enter the column (0, 1, 2): "))
27+
28+
if 0 <= row < 3 and 0 <= col < 3 and board[row][col] == " ":
29+
board[row][col] = player
30+
31+
if check_winner(board, player):
32+
print_board(board)
33+
print(f"Player {player} wins!")
34+
break
35+
36+
if is_full(board):
37+
print_board(board)
38+
print("It's a draw!")
39+
break
40+
41+
player = "O" if player == "X" else "X"
42+
else:
43+
print("Invalid move. Try again.")
44+
45+
if __name__ == "__main__":
46+
main()

0 commit comments

Comments
 (0)