From 816bcc47e0f2996e180e916ff670b5edfc616766 Mon Sep 17 00:00:00 2001 From: Yogesh Sharma <116916363+Fusion509@users.noreply.github.com> Date: Thu, 19 Oct 2023 03:22:54 +0530 Subject: [PATCH] Create TIC TAC TOE 2P game.py --- Python Projects/TIC TAC TOE 2P game.py | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Python Projects/TIC TAC TOE 2P game.py diff --git a/Python Projects/TIC TAC TOE 2P game.py b/Python Projects/TIC TAC TOE 2P game.py new file mode 100644 index 0000000..5b590f8 --- /dev/null +++ b/Python Projects/TIC TAC TOE 2P game.py @@ -0,0 +1,51 @@ +def print_board(board): + for row in board: + print(" | ".join(row)) + print("-" * 9) + +def check_winner(board, player): + for row in board: + if all(cell == player for cell in row): + return True + + for col in range(3): + if all(board[row][col] == player for row in range(3)): + return True + + if all(board[i][i] == player for i in range(3)) or all(board[i][2 - i] == player for i in range(3)): + return True + + return False + +def is_full(board): + return all(cell != ' ' for row in board for cell in row) + +def play_game(): + board = [[" " for _ in range(3)] for _ in range(3)] + current_player = 'X' + + print("Let's play Tic-Tac-Toe!") + print_board(board) + + while True: + row, col = map(int, input(f"Player {current_player}, enter row (0, 1, 2) and column (0, 1, 2) separated by a space: ").split()) + if board[row][col] == " ": + board[row][col] = current_player + else: + print("That spot is already taken. Try again.") + continue + + print_board(board) + + if check_winner(board, current_player): + print(f"Player {current_player} wins!") + break + + if is_full(board): + print("It's a tie!") + break + + current_player = 'O' if current_player == 'X' else 'X' + +if __name__ == "__main__": + play_game()