From a23e17de0764a5ff9475f726a48336d4a704114d Mon Sep 17 00:00:00 2001 From: priya Date: Wed, 7 Jan 2026 19:12:16 +0530 Subject: [PATCH] Add welcome message, comments, and improved board printing in Tic-Tac-Toe --- .idea/Python_Project.iml | 14 ++++++++++++++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/misc.xml | 7 +++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ tictactoe/__pycache__/tictactoe.cpython-313.pyc | Bin 0 -> 6118 bytes tictactoe/tictactoe.py | 6 ++++-- 7 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 .idea/Python_Project.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 tictactoe/__pycache__/tictactoe.cpython-313.pyc diff --git a/.idea/Python_Project.iml b/.idea/Python_Project.iml new file mode 100644 index 0000000..31f7130 --- /dev/null +++ b/.idea/Python_Project.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6abb96f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..9194a2c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tictactoe/__pycache__/tictactoe.cpython-313.pyc b/tictactoe/__pycache__/tictactoe.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a57b3eb84acfee373a7ac165f44dccdda92583bb GIT binary patch literal 6118 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 CbFWqa literal 0 HcmV?d00001 diff --git a/tictactoe/tictactoe.py b/tictactoe/tictactoe.py index ac79dfb..24df58c 100644 --- a/tictactoe/tictactoe.py +++ b/tictactoe/tictactoe.py @@ -16,7 +16,7 @@ def player(board): o_count = sum(row.count(O) for row in board) return O if x_count > o_count else X - +# Returns the list of empty positions on the board def actions(board): """Returns a list of all possible actions (i, j) available on the board.""" return [(i, j) for i in range(3) for j in range(3) if board[i][j] is EMPTY] @@ -116,10 +116,12 @@ def min_value(board): if __name__ == "__main__": + print("Welcome to Tic-Tac-Toe! This game will play itself using AI.") board = initial_state() while not terminal(board): move = minimax(board) board = result(board, move) print(f"Player {player(board)} made move: {move}") for row in board: - print(row) + print(" | ".join([cell if cell else " " for cell in row])) + print()