Cách tạo trò chơi Tic Tac Toe trong Python với Code Ví dụ
⚡ Tóm tắt thông minh
Tic Tac Toe trong Python Đây là một dự án thân thiện với người mới bắt đầu, tái hiện trò chơi lưới hai người chơi kinh điển. Việc xây dựng trò chơi này giúp củng cố các kỹ năng cốt lõi như vòng lặp, câu lệnh điều kiện, danh sách, hàm và đệ quy khi kiểm tra các hàng, cột và đường chéo để tìm ra người chiến thắng.

Trò chơi Tic Tac Toe trong Python Đây là một dự án thú vị mà bạn có thể thử. Đó là một dự án hay và vui nhộn, giúp bạn giải quyết một thử thách và có thể giúp bạn nắm vững các khái niệm cơ bản trong... PythonViệc tạo ra một trò chơi Tic Tac Toe thú vị sẽ giúp bạn nâng cao kỹ năng của mình.
Bạn có thể sử dụng một cái gì đó tốt Python biên tập viên chẳng hạn như PyCharm hoặc giao diện dòng lệnh.
Cách chơi cờ caro?
Cờ caro là một trò chơi đơn giản dành cho hai người chơi mà bất cứ ai cũng có thể chơi mà không cần bàn cờ. Trò chơi bao gồm hai người chơi đánh dấu vào các ô khác nhau cho đến khi kết thúc với chiến thắng hoặc hòa.
Dưới đây là cách chơi trò chơi Tic Tac Toe.
Bước 1) Trò chơi Tic Tac Toe bắt đầu với các ô trống trong một lưới vuông. Đây chính là bàn cờ Tic Tac Toe.
Bước 2) Cả hai người chơi đều chọn một trong hai biểu tượng, thường là X hoặc Os. Bạn có thể sử dụng bất kỳ biểu tượng độc đáo nào khác trong trò chơi.
Bước 3) Người chơi hiện tại lần lượt đánh dấu bằng cách điền vào các ô trên bàn cờ Tic Tac Toe cho đến khi một người chơi tạo được tổ hợp chiến thắng. Đó là toàn bộ một hàng, cột hoặc đường chéo có cùng dấu.
Bước 4) Trò chơi cũng có thể kết thúc hòa nếu tất cả các ô đều đã được điền đầy mà không có người thắng cuộc rõ ràng.
Yêu cầu
Xây dựng trò chơi Tic Tac Toe Python Dự án này đòi hỏi sự hiểu biết ở mức độ cơ bản về... Python Ngôn ngữ lập trình. Nó bao gồm việc hiểu về vòng lặp “for” và các phép lặp, cũng như công dụng của câu lệnh if trong lập trình. Python.
Bạn cũng cần phải có Python và Python Trình soạn thảo văn bản được cài đặt trên máy tính của bạn để hoàn thành trò chơi Tic Tac Toe. Python dự án. Vì đây là trò chơi Tic Tac Toe dành cho người mới bắt đầu trong PythonBạn sẽ không cần bất kỳ Python thư viện.
Bạn có thể cần một số kỹ năng gỡ lỗi để tìm ra giải pháp cho các lỗi trong mã của mình, và bạn cũng cần có hiểu biết đầy đủ về các thành phần của trò chơi.
Tic Tac Toe Python Thuật toán
Hãy làm theo các bước sau để tạo trò chơi Tic Tac Toe trong Python ngôn ngữ lập trình:
Bước 1) Hãy tạo bàn cờ để bắt đầu trò chơi Tic Tac Toe.
Bước 2) Yêu cầu người dùng quyết định kích thước bảng trò chơi.
Bước 3) Chọn ngẫu nhiên người chơi đầu tiên.
Bước 4) Trò chơi cờ caro bắt đầu.
Bước 5) Người chơi chơi bằng cách chọn một chỗ trống trên bảng.
Bước 6) Điền vào chỗ trống đã chọn bằng dấu hiệu của người chơi.
Bước 7) Xác định xem người chơi thắng hay hòa trong trò chơi bằng cách sử dụng logic trò chơi.
Bước 8) Hiển thị bảng trò chơi sau mỗi lần chơi nếu không có người chơi nào thắng hoặc hòa với người chơi thứ hai.
Bước 9) Hiển thị thông báo hòa hoặc thắng tương ứng.
Bước 10) Kết thúc trò chơi Tic Tac Toe với các tùy chọn để bắt đầu một trò chơi mới.
Full Python mã cho tic tac toe
# Guru99 # Code developed by Guru99.com # Guru99 tic-tac-toe game #Get input def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the game board def printBoard(board): print() for row in board: print(*row) print() # Check if player won using the winning combinations def checkWin(board): # Check rows for row in range(len(board)): for col in range(len(board)-1): if board[row][col] == "_" or board[row][col+1] == "_" or board[row][col] != board[row][col+1]: break else: return True # Check column numbers for col in range(len(board)): for row in range(len(board)-1): if board[row][col] == "_" or board[row+1][col] == "_" or board[row][col] != board[row+1][col]: break else: return True # Check left diagonal for cell in range(len(board)-1): if board[cell][cell] == "_" or board[cell+1][cell+1] == "_" or board[cell][cell] != board[cell+1][cell+1]: break else: return True # Check right diagonal for cell in range(len(board)-1): emptyCell = board[cell][len(board)-cell-1] == "_" or board[cell+1][len(board)-cell-2] == "_" different = board[cell][len(board)-cell-1] != board[cell+1][len(board)-cell-2] if emptyCell or different: break else: return True # No win return False # Play tic tac toe game def play(): # Introduction print("------------\nN-DIMENSIONAL TIC TAC TOE game by guru 99.com \n------------") # Set up variables N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 # Play guru99 tic tac toe game in Python using while infinite loop while True: # Print guru99 tic tac toe game board printBoard(board) # Get user pick pick = getInput(prompt=f"Player {turn+1} - Pick location (row, col): ", cast=lambda line: tuple(map(int, line.split(" "))), condition=lambda pair: min(pair) >= 0 and max(pair) < N and board[pair[0]][pair[1]] == "_", errorMessage="Invalid input. Please enter a valid, unoccupied location as an integer pair.") # Populate location board[pick[0]][pick[1]] = "X" if turn == 0 else "O" used += 1 # Check for win #Guru99 tutorial if checkWin(board): printBoard(board) print(f"Game over, Player {turn+1} wins.") break # Check for tie elif used == N*N: printBoard(board) print("Game over. Players have tied the match.") print("Guru99.com tic tac toe game ") break # If no win yet, update next user turn = (turn+1)%2 # Check for rematch playAgain = getInput(prompt="Play Guru99 tic tac toe_Game again? (y/n): ", cast=str, condition=lambda ans: ans.strip("\n").lower() in {"y", "n"}, errorMessage="Invalid input. Please enter 'y' or 'n'.") if playAgain == 'n': # End the game print("\nGuru99 TicTacToe game ended.") return else: # Rematch play() # Main if __name__ == '__main__': play()
Tic Tac Toe Python Code đầu ra
Sau khi chạy đoạn mã nguồn ở trên, dưới đây là kết quả dự kiến cho bàn cờ caro 3x3:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _ Player 1 - Pick location (row, col): 1 1 _ _ _ _ X _ _ _ _ Player 2 - Pick location (row, col): 0 1 _ O _ _ X _ _ _ _ Player 1 - Pick location (row, col): 1 2 _ O _ _ X X _ _ _ Player 2 - Pick location (row, col): 0 2 _ O O _ X X _ _ _ Player 1 - Pick location (row, col): 1 0 _ O O X X X _ _ _ Game over, Player 1 wins. Play Guru99 tic tac toe_Game again? (y/n):
Full Code Breakdown
Tạo Tic Tac Toe trong Python Rất đơn giản. Chúng ta hãy cùng phân tích từng chức năng riêng lẻ để hiểu điều gì đang diễn ra ở mỗi dòng:
In bảng
Bàn cờ caro là màn hình hiển thị chính của trò chơi. Trong PythonMột cửa sổ hiển thị được sử dụng để hiển thị bàn cờ.
Dưới đây là các bước giúp bạn tạo bàn cờ caro trong trò chơi Tic Tac Toe. Python:
Python mã cho Tic Tac Toe
def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the board def printBoard(board): print() for row in board: print(*row) print() N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 printBoard(board)
Code đầu ra:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Trò chơi Tic Tac Toe – dàn xếp chiến thắng
Để kiểm tra xem có người chơi nào thắng hay không, chúng ta cần kiểm tra các kết hợp chiến thắng theo hàng, cột và đường chéo. Nếu có người chiến thắng, chúng ta cần hiển thị thông điệp chiến thắng.
Hàng
- Đối với hàng, hàm lấy từng cặp cột liên tiếp và kiểm tra kết hợp chiến thắng.
- Người chơi đầu tiên điền vào các hàng sẽ thắng. Người chơi thứ hai do đó thua cuộc.
- Nếu hai cột liên tiếp có cùng một hàng, thì rõ ràng tất cả các phần tử trong hàng đó đều giống nhau.
- Nếu hai trong số chúng khác nhau hoặc hàng chứa một ô trống thì vẫn không có người chiến thắng.
- Sau đó chúng tôi thực hiện các điều kiện mất và thêm thời gian nghỉ. Nếu bất kỳ điều kiện thua nào trong số này là đúng thì chúng ta không có người chiến thắng ở hàng đã chọn.
- Câu lệnh else mang lại kết quả thực sự để cho thấy rằng có người chiến thắng.
- Việc ngắt sẽ thoát ra khỏi vòng lặp này để chuyển sang hàng tiếp theo.
Cột
Đối với các cột, chúng ta lặp lại chức năng tương tự như đối với các hàng. Chúng tôi kiểm tra xem người chơi có thắng hay không sau khi mỗi người chơi chọn vị trí của mình.
Hàng chéo thắng
Đối với đường chéo bên trái, nhiệm vụ trở nên đơn giản hơn. Chúng ta luôn so sánh các ô trên các đường chéo. Tuy nhiên, trong trường hợp không có ô nào thắng cuộc, chúng ta có thể chuyển sang hướng dẫn tiếp theo.
Chơi trò chơi logic
Đây là chức năng chính của trò chơi. Để làm được điều này, chúng ta có thể sử dụng các biến lưu trữ thông tin.
- Biến đầu tiên là kích thước bảng được lưu trữ trong “N”. Trò chơi sẽ lấy kích thước bảng sau khi yêu cầu người dùng nhập số.
- Vì vậy, khi bạn nhập giá trị, nó sẽ được xử lý.
- Chúng tôi cũng tạo một thông báo lỗi để hiển thị cho người chơi khi nhập bất kỳ số nào không hợp lệ.
- Sau đó, chúng ta có thể tạo hai biến điền vào chữ “X” hoặc “O” khi một ô được điền.
- Sau đó cho người chơi xem bảng trò chơi. Sau đó, lấy đầu vào của người chơi.
- Sau đó, logic sẽ đánh dấu ô đã chọn là đã điền và kiểm tra xem thắng hay hòa.
- Nếu không có người chiến thắng, trò chơi sẽ yêu cầu người chơi tiếp theo chơi. Nếu thắng hoặc hòa, trò chơi có thể hỏi người dùng xem họ có muốn chơi trò chơi mới không.
