Kịch bản trò chơi Python Tic-Tac-Toe
Chạy trò chơi Tic-Tac-Toe đầu cuối bằng Python. Tìm hiểu cách quản lý trạng thái bảng, chuyển lượt và kiểm tra điều kiện giành chiến thắng.
Tổng quan
Xây dựng trò chơi Tic-Tac-Toe là một bài tập cổ điển giúp củng cố cách biểu diễn trạng thái bảng ma trận, cấu trúc vòng lặp và logic so sánh có điều kiện.
Bảng được biểu diễn dưới dạng ma trận 3x3 (hoặc danh sách phẳng gồm 9 phần tử). Hai người chơi lần lượt đặt biểu tượng của họ ('X' hoặc 'O') trên lưới. Sau mỗi lần di chuyển, tập lệnh sẽ kiểm tra xem người chơi có ba biểu tượng trùng khớp trên một hàng, cột hoặc đường chéo hay không.
Việc triển khai này bao gồm một vòng lặp trò chơi chuyển đổi trạng thái của người chơi đang hoạt động, chấp nhận các vị trí tọa độ và tự động dừng khi gặp điều kiện thắng hoặc hòa.
Đầu ra mã & thực thi
Một công cụ trò chơi Tic-Tac-Toe dòng lệnh đầy đủ chức năng chạy phiên mô phỏng.
def print_board(board):
for i in range(3):
row = " | ".join(board[i*3:(i+1)*3])
print(f" {row} ")
if i < 2:
print("---+---+---")
def check_win(board, player):
win_states = [
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
[0, 4, 8], [2, 4, 6] # Diagonals
]
return any(all(board[pos] == player for pos in state) for state in win_states)
def play_tic_tac_toe():
board = [str(i+1) for i in range(9)]
# Simulated sequence of moves (X and O alternating)
moves = [4, 0, 8, 2, 7, 6, 3]
print("Welcome to Tic-Tac-Toe!\n")
print_board(board)
print("\nSimulating Gameplay...")
current_player = 'X'
for move in moves:
if board[move] not in ['X', 'O']:
board[move] = current_player
print(f"\nPlayer {current_player} places on {move+1}:")
print_board(board)
if check_win(board, current_player):
print(f"\nPlayer {current_player} wins the game!")
return
current_player = 'O' if current_player == 'X' else 'X'
print("\nGame ends in a draw!")
play_tic_tac_toe()Welcome to Tic-Tac-Toe!
1 | 2 | 3
---+---+---
4 | 5 | 6
---+---+---
7 | 8 | 9
Simulating Gameplay...
Player X places on 5:
1 | 2 | 3
---+---+---
4 | X | 6
---+---+---
7 | 8 | 9
Player O places on 1:
O | 2 | 3
---+---+---
4 | X | 6
---+---+---
7 | 8 | 9
... (moves continue)
Player X wins the game!Triển khai từng bước
- Vòng lặp giao diện dòng lệnh tương tác
- Nguyên mẫu định tuyến minimax trí tuệ nhân tạo đơn giản
- Học ánh xạ tọa độ mảng danh sách 2D
Câu hỏi thường gặp
Làm thế nào tôi có thể chơi với máy tính?
Để triển khai đối thủ AI, bạn có thể sử dụng mô-đun `random` của Python để chọn các ô trống trên bảng hoặc sử dụng thuật toán Minimax để tạo ra đối thủ bất khả chiến bại.
Làm cách nào để xóa màn hình đầu cuối giữa các lượt?
Bạn có thể nhập `os` và gọi `os.system('cls' if os.name == 'nt' else 'clear')` để xóa các khung nhìn thiết bị đầu cuối tiêu chuẩn.
Chủ đề liên quan
Xây dựng và chạy trò chơi Hangman bằng Python. Khám phá việc kiểm tra bộ ký tự, bộ đếm số lần thử còn lại và thay thế chuỗi từ ẩn.
Trò chơi kéo giấy bằng đá PythonTạo trò chơi Rock-Paper-Scissors bằng Python. Nắm vững các lựa chọn ngẫu nhiên, xác thực đầu vào của người dùng và ánh xạ quy tắc quan hệ.