Skrip Permainan Python Tic-Tac-Toe

Jalankan game terminal Tic-Tac-Toe dengan Python. Pelajari manajemen status papan, peralihan giliran, dan menangkan pemeriksaan kondisi.

Coba di Editor

Ikhtisar

Membangun permainan Tic-Tac-Toe adalah latihan klasik yang memperkuat representasi status papan matriks, struktur loop, dan logika perbandingan bersyarat.

Papan direpresentasikan sebagai matriks 3x3 (atau daftar datar yang terdiri dari 9 elemen). Dua pemain bergiliran menempatkan simbol mereka ('X' atau 'O') di grid. Setelah setiap gerakan, skrip memeriksa apakah pemain memiliki tiga simbol yang cocok dalam satu baris, kolom, atau diagonal.

Implementasi ini mencakup game loop yang mengubah status pemain aktif, menerima penempatan koordinat, dan secara otomatis berhenti setelah kondisi menang atau seri terpenuhi.

Kode & Output Eksekusi

Mesin permainan Tic-Tac-Toe baris perintah yang berfungsi penuh menjalankan sesi simulasi.

tic_tac_toe.py
Coba di Editor
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()
Keluaran Terminal
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!

Implementasi Langkah demi Langkah

  • Loop antarmuka baris perintah interaktif
  • Prototipe perutean minimax kecerdasan buatan sederhana
  • Mempelajari pemetaan koordinat array daftar 2D

Pertanyaan yang Sering Diajukan

Bagaimana saya bisa bermain melawan komputer?

Untuk mengimplementasikan lawan AI, Anda dapat menggunakan modul `acak` Python untuk memilih slot kosong di papan, atau menggunakan algoritma Minimax untuk membuat lawan yang tidak ada duanya.

Bagaimana cara menghapus layar terminal di antara belokan?

Anda dapat mengimpor `os` dan memanggil `os.system('cls' if os.name == 'nt' else 'clear')` untuk menghapus area pandang terminal standar.

Topik Terkait