Script du jeu Python Tic-Tac-Toe

Exécutez un jeu de terminal Tic-Tac-Toe en Python. Apprenez la gestion de l'état de la carte, la commutation des virages et les contrôles de condition.

Essayez dans l'éditeur

Aperçu

Construire un jeu de Tic-Tac-Toe est un exercice classique qui renforce la représentation matricielle de l'état du tableau, les structures de boucles et la logique de comparaison conditionnelle.

Le tableau est représenté comme une matrice 3x3 (ou une liste plate de 9 éléments). Deux joueurs placent à tour de rôle leurs symboles (« X » ou « O ») sur la grille. Après chaque coup, le script vérifie si un joueur a trois symboles correspondants dans une ligne, une colonne ou une diagonale.

Cette implémentation comprend une boucle de jeu qui change d'état de joueur actif, accepte le placement des coordonnées et s'arrête automatiquement une fois qu'une condition de victoire ou d'égalité est rencontrée.

Sortie de code et d'exécution

Un moteur de jeu Tic-Tac-Toe en ligne de commande entièrement fonctionnel exécutant une session simulée.

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()
Sortie terminale
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!

Mise en œuvre étape par étape

  • Boucles d'interface de ligne de commande interactive
  • Prototypes simples de routage minimax d'intelligence artificielle
  • Apprentissage des mappages de coordonnées de tableaux de listes 2D

Foire aux questions

Comment puis-je jouer contre l'ordinateur ?

Pour implémenter un adversaire IA, vous pouvez utiliser le module « aléatoire » de Python pour sélectionner des emplacements libres sur le plateau, ou utiliser l'algorithme Minimax pour créer un adversaire imbattable.

Comment effacer l’écran du terminal entre les tours ?

Vous pouvez importer `os` et appeler `os.system('cls' if os.name == 'nt' else 'clear')` pour effacer les fenêtres d'affichage du terminal standard.

Sujets connexes